Eu tenho algum código Perl abaixo:
my $formattedUserEmail = $[UserEmail];
$additionalTestParameters .= "ECJOBLink,$jobLink;ECJOBId,$[jobId];EcJobCounter,$jobCounter,PFUser,$formattedUserEmail";
Quando o código Perl é executado, vejo o conteúdo de cada var abaixo:
my $formattedUserEmail = [email protected];
$additionalTestParameters .= "ECJOBLink,$jobLink;ECJOBId,1111;EcJobCounter,$jobCounter,PFUser,$formattedUserEmail";
Mas quando o código é executado, resulta em erros, acredito por causa do [email protected]
endereço de e-mail, especificamente do @
caractere, que é um símbolo especial em 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.
Como posso corrigir meu código para que o email var seja adicionado à $additionalTestParameters
string?
$[UserEmail]
parece suspeito.Se for um
HASH
(como o dict do Python), deveria ser${'UserEmail'}
.$[UserEmail]
é para umARRAY
membro eUserEmail
deve ser uma chave numérica .Sempre:
em todos os seus scripts, isso ajudará em erros de codificação:
Você está usando alguma linguagem de modelo não especificada. Para conseguir o que deseja, você precisará converter o texto que deseja fornecer (
[email protected]
) em uma string literal Perl ('[email protected]'
).Se a string não contiver aspas ou barras invertidas, você poderá usar
Neste caso, isso produzirá
Observe que isso não é seguro. Se a fonte não for confiável, ela poderá injetar código malicioso. Sem saber mais sobre a linguagem de templates, não posso fornecer uma solução segura.