use*_*033 1 string syntax perl eval
为什么这不起作用?
eval "$response = $ua->request($r);"
print "$@";
Run Code Online (Sandbox Code Playgroud)
得到:
syntax error at (eval 8) line 1, near "="
Run Code Online (Sandbox Code Playgroud)
Bra*_*ert 22
一个更好的问题是为什么你使用字符串eval而不是块eval?
eval { $response = $ua->request($r); }
print "$@";
Run Code Online (Sandbox Code Playgroud)
cha*_*aos 15
它不起作用,因为你的双引号字符串会受到插值的影响,这种情况不会很好,这些变量会在适当的位置进行扩展.而且你需要在你的eval外面加一个分号,而不是在你的内部.尝试使用单引号:
eval '$response = $ua->request($r)';
Run Code Online (Sandbox Code Playgroud)