Perl中的$@是什么?
我有一个我无法理解的Perl脚本Perl中的$@是什么?,perl,Perl,我有一个我无法理解的Perl脚本 for $i(@myarr) { #some stuff eval { #some stuff }; if($@) { print "*** $@ ****"; } } 那个评估是做什么的?它是一个标准的Perl命令还是只是一些子命令 变量$@是什么?它目前正在打印一个字符串,但我不知道该字符串来自何处 $@上次eval、do FILE或require命令中的Perl语法错误或例程
for $i(@myarr)
{
#some stuff
eval {
#some stuff
};
if($@)
{
print "*** $@ ****";
}
}
$@
上次eval、do FILE或require命令中的Perl语法错误或例程错误消息。如果设置,则编译失败,或者在eval代码内执行die函数。请阅读此文档以添加到Suic的答案中,请参阅允许您使用更具描述性的$EVAL_ERROR
而不是$@
的模块,以及避免使用EVAL
进行异常处理的常见陷阱的or模块。另外,下次当你想知道Perl函数时,perldoc-f
是你的朋友(比如perldoc-f eval
)。看看谢谢你的回答。现在了解了eval的工作。嗨,zoul,谢谢你提供的更多信息!关于perldoc-f,我应该在我的解释器上运行它吗?我使用的是Hamilton C Shell,它可以很容易地从Perl-v检测Perl的版本,但是它不能执行您的命令。你可以用谷歌搜索“perldocfoo”,效果也差不多。