失敗する可能性のあるものに「or die」を追加できないようにするPerlモジュールはありますか?
-
07-07-2019 - |
質問
あらゆる種類の外部コマンドと、失敗する可能性のあるさまざまなファイルシステムコマンドを実行するコードを書いています。
失敗する可能性のあるものにまたはdie
を追加する手間を省くことができるモジュールはありますか?
次の代わりに何かを次のようにラップできるようにしたい:
mkdir $dirname or die "can't create directory $dirname";
system("some external command") or die "can run some external command";
なる:
some_wrapper_code {
mkdir $dirname;
system("some external command");
}
mkdir
が失敗した場合、失敗は mkdir
にあったことを通知し、 system
が失敗した場合は通知します失敗が system
にあったこと。
解決
はい。 CPANから autodie
をご覧ください。
ドキュメントから:
autodie
プラグマは、通常返される関数を置き換える便利な方法を提供します
失敗すると例外をスローする同等のもので失敗するとfalse。
autodie
プラグマには lexical scope があります。つまり、関数とサブルーチンはautodie
は、囲むブロック、ファイル、またはeval
。
所属していません StackOverflow