Loose-Info.com
Last Update 2008/05/18
TOP - Perl - 関数 - eval

与えられたPerlのプログラムを解釈・実行します。

戻り値1 = eval 式1

戻り値1
最後に評価した式、またはreturnによって返される値
式1
解釈・実行されるPerlスクリプトを結果として返す式

戻り値1 = eval ブロック1

戻り値1
最後に評価した式、またはreturnによって返される値
ブロック1
解釈・実行されるPerlスクリプトのブロック
エラーが発生した場合は、$@にエラーメッセージが格納される

(例)
# 式を使用 $s_eval = 'print' . ' ' . '"test\n";'; eval 'for($i=0;$i<3;$i++){' . $s_eval . '}'; # ブロックを使用 eval { my $i; for($i=0;$i<3;$i++) { # 除算エラーが発生しても終了はしない print 10 / $i . "\n"; } }; # エラーの内容が$@に格納される print "エラー内容 : $@\n";

実行結果
test test test エラー内容 : Illegal division by zero at /****/****/****/test.pl line 11.