失敗する可能性のあるものに「or die」を追加できないようにするPerlモジュールはありますか?

StackOverflow https://stackoverflow.com/questions/1432207

質問

あらゆる種類の外部コマンドと、失敗する可能性のあるさまざまなファイルシステムコマンドを実行するコードを書いています。

失敗する可能性のあるものにまたは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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top