Pergunta

Por que não é este trabalho?

eval "$response = $ua->request($r);"
print "$@";

dá:

syntax error at (eval 8) line 1, near "=" 
Foi útil?

Solução

Ele não está funcionando porque a cadeia entre aspas está sujeita a interpolação, que não está a ir bem, com aquelas variáveis ??que estão sendo expandidos no lugar. E você precisa de um ponto e vírgula fora do seu eval, não tanto no seu interior. Tente aspas simples assim:

eval '$response = $ua->request($r)';

Outras dicas

A melhor pergunta é por que você está usando um eval corda, em vez de um eval bloco?

eval { $response = $ua->request($r); }
print "$@";

Uma melhor ainda melhor pergunta é por que você está usando eval em primeiro lugar? Eu suspeito que você está usando LWP::UserAgent ea menos que você implementar seu próprio objeto de solicitação, o 'método request` é improvável morrem.

Assim, por que não simplesmente usar:

$response = $ua->request($r);

?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top