perlの "autodie" を使ってみた
perlではファイルを開くときに、
open(FILE,"open_file") or die "Can't open file!!";
こんな書き方をすることが多かったのですが、"or die" だとエラーが発生しても、"Can't open file!!" という自分が書き込んだ情報しか得られず、デバッグが非常にやりづらかった。
そこで、もっといい方法を探すと、"autodie" というものを使うと、より詳細なエラー情報を返してくれるようになったので、その紹介をします。
従来のファイルの開き方とエラーコード例
open(FILE,"open_file") or die "Can't open file!!";
これをエラーが発生するように実行すると、
というエラーコードが出力され、自分が書き込んだ情報とエラーが発生した場所の情報のみが出力される。
"autodie" を利用したファイルの開き方とエラーコード例
"use autodie" でperl標準モジュールである "autodie" が利用可能になる。
use autodie; open(FILE,"open_file");
これを同様にエラーが発生するように実行すると、
というエラーコードが出力され、従来の "or die" のやり方と比較すると、開こうとしたファイルやエラーの種類等の情報も付加されている。"autodie" を利用することで、"or die" でエラー情報を書き込む手間が省ける上に、より詳細なエラー情報を取得することができる。
perlでプログラムを書くときには、必須の "use strict" と "use warnings" に加えて、"use autodie" も加えるといいだろうなと思います。
参考サイト
autodie - search.cpan.org
autodie - perldoc.jp (日本語説明)