プロが教える店舗&オフィスのセキュリティ対策術

eval関数?エラーについて

掲示板の設置と設定時に各項目について必須や任意に設定できますが必須項目に無入力で投稿するとeval関数?エラーが表示されるのですが、この仕組みについて知りたいです。

A 回答 (2件)

その掲示板の作りかたによるものなので、一般的な「仕組み」では無いです。




eval関数そのものについては、引数で渡された文字列をPerlのスクリプトだと解釈して「実行」するものです。

例えば

$s='$a = 1;';
$a=0;
eval $s ;
print $a;

とすると、eval $s では $a=1; が実行されて、printでは 1 と表示されます。


おそらく、その掲示板のプログラムでは、必須項目に書いた内容を加工してプログラム状にし、evalで実行して使っているのでしょう。それが空欄だと、文法かなんかで正しくないプログラムになり、evalで実行できない、ということなのでしょう。
    • good
    • 0

eval関数は、CPAN辺りで拾ってきたモジュールが、その内部で勝手にexit()してしまって、


exit()されては困る担当者が、大変困ったとき、exit()関数のエラーコードを戻して貰って、自分が書いたPerlコード内で、エラー処理をするための関数ですね。
eval関数の引数には、問題がある関数とその引数を記述します。

eval関数のコーディングの仕方の善し悪しは、具体的に示されないと判断出ませんね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!