eval EXPR eval BLOCK |
計算expr在執行時,如果EXPR是一個單獨的Perl腳本。這可以讓你在你的程序中使用一個單獨的,也許是用戶提供的一塊Perl腳本。一個eval EXPR語句分彆每次被調用函數求值。
第二種形式的計算結果塊時,其餘的腳本解析(未執行)。
EXPR或塊表中的最後計算的值
以下是用法...
# make divide-by-zero nonfatal eval { $answer = $a / $b; }; warn $@ if $@;
# __DIE__ hooks may modify error messages
{
local $SIG{'__DIE__'} =
sub { (my $x = $_[0]) =~ s/foo/bar/g; die $x };
eval { die "foo lives here" };
print $@ if $@; # prints "bar lives here"
#by www.gitbook.net
}