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.


Copyright(C) 2006-2011 CLAYPOT. All Rights Reserved.