**已关闭。**此问题需要debugging details。目前不接受答案。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
上个月关门了。
Improve this question
我在CloudBees在线devops平台上有以下Perl代码:
my $formattedUserEmail = $[UserEmail];
$additionalTestParameters .= "ECJOBLink,$jobLink;ECJOBId,$[jobId];EcJobCounter,$jobCounter,PFUser,$formattedUserEmail";
它被部署为以下Perl代码:
my $formattedUserEmail = [email protected];
$additionalTestParameters .= "ECJOBLink,$jobLink;ECJOBId,1111;EcJobCounter,$jobCounter,PFUser,$formattedUserEmail";
但是当代码运行时,它会导致错误,我相信是因为[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
电子邮件地址,特别是@
字符,这是Perl中的一个特殊符号。
Array found where operator expected at ... line 32, at end of line
syntax error at .... line 32, near "adam@site"
Global symbol "@site" requires explicit package name at C.... line 32.
Execution of ..... aborted due to compilation errors.
我如何修复我的代码,以便将email var添加到$additionalTestParameters
字符串中?
2条答案
按热度按时间rqqzpn5f1#
$[UserEmail]
看起来很可疑。可能是受你的python背景影响。如果它是一个
HASH
(像Python的dict),它应该是${'UserEmail'}
。$[UserEmail]
用于ARRAY
成员,UserEmail
应该是一个数字键。始终:
在你所有的脚本中,它将有助于编码错误:
vc6uscn92#
也许,你正在使用一些未指定的模板语言。为了实现你想要的,你需要让它把你想要提供的文本(
[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
)转换成Perl字符串文字(' [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection) '
)。如果字符串不包含任何引号或反斜杠,则可以使用
在这种情况下,这将产生
请注意,这是不安全的。如果源代码不受信任,它可能会注入恶意代码。如果不了解更多的模板语言,我不能提供一个安全的解决方案。