为什么不是这方面的工作?

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

给出:

syntax error at (eval 8) line 1, near "=" 
有帮助吗?

解决方案

这是行不通的,因为你的双引号字符串受到插值,这是不会顺利,用这些变量代替正在扩大。你需要一个分号你的eval之外,里面没有那么多。尝试像这样单引号:

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

其他提示

有一个更好的问题是为什么你正在使用的不是块的eval字符串的eval,?

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

一个更好的更好的问题是为什么要首先使用eval?我怀疑你正在使用LWP::UserAgent,除非你实现你自己的请求对象中,“request`方法不可能做死。

因此,为什么不能简单地用:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top