我有一個Perl腳本,我不明白。
for $i(@myarr)
{
#some stuff
eval {
#some stuff
};
if([email protected])
{
print "*** [email protected] ****";
}
}
- 是什麼EVAL呢?這是一個標準的Perl命令還是隻是一些子?
- 變量$ @是什麼?它目前正在打印一個字符串,但我不知道該字符串來自哪裏。
我有一個Perl腳本,我不明白。
for $i(@myarr)
{
#some stuff
eval {
#some stuff
};
if([email protected])
{
print "*** [email protected] ****";
}
}
爲了增加Suic的回答,請參閱English模塊,可讓您使用更描述性的,而不是$EVAL_ERROR
和[email protected]
的Try::Tiny或TryCatch模塊避免常見的陷阱,使用eval
異常處理有關。另外,下一次您想知道Perl函數時,perldoc -f
是您的朋友(如perldoc -f eval
)。
嗨zoul感謝您的額外信息! 關於perldoc -f,我是否應該在我的解釋器上運行它? 我正在使用Hamilton C Shell,它可以很容易地從perl -v中檢測到Perl的版本,但它不能執行你的命令。 – 2013-04-30 07:17:50
我不知道Windows上的Perl,對不起。你總是可以只爲谷歌「perldoc富」,工程大致相同。 – zoul 2013-04-30 07:30:15
[email protected]
來自最後eval,do-FILE或require命令的Perl語法錯誤或例程錯誤消息。如果設置,則編譯失敗,或者在eval的代碼中執行die功能。請仔細閱讀本文檔http://perldoc.perl.org/perlvar.html
感謝您的答案。 現在明白了eval的作用。 – 2013-04-30 07:15:29
看看http://perldoc.perl.org/functions/eval.html – 2013-04-30 06:50:24