稲沢市よりお届けしてます。

Perlをはじめとしたプログラミング周りのあれこれについて。Perl、最近書いてないなぁ。

Perl48 meets eval function

自分の仕事用に作ったPerl"ガラクタ"スクリプトをブラッシュアップしていくのが、ささやかな趣味の一つになってたりします。

『初めてのPerl 第3版(古っ!)』がバックボーンだったりする私ですが、いまだにこの本から新しい発見があります。

ほんっと読みたい所しか目に入ってないんだなぁと痛感。

今日見つけたのは eval関数。

複数URLのフォームに必要事項を入力しサブミットしていくという、自分用Perlスクリプトを同僚に公開したところ、

「エラーになったときに止まるのがイヤ。エラーを後でわかるようにチェックして、処理は次に進む感じがいい。」

という要望をいただいた。


論理的にできるだろうと漠然と思っていたものの、作成段階からトライ&エラーを何十回と繰り返してきた自分にとっては、使い勝手に不満が無かったりする。(どういう風に動いてるか熟知してるし、エラーの対処も慣れてるから)


という怠惰な感じでズルズルと来てたんだけど、なんとなく久しぶりに開いた『初めてのPerl』で出会ってしまいました。


evalちゃんに。


奇しくも、同僚の要望をそのまま実現する関数でした。

というわけで、


eval{
(〜登録処理〜)
};
# eval関数でキャッチしたエラーが存在する場合にエラー内容を表示する
if ($@){
print "On URL:$_ ,An error occurred ($@), continuing...\n";
}

というのを追記して、

マイ・ガラクタPerlスクリプトは、また一つ便利になっていくのでした。