5
BEGINブロックで何らかのチェックを行う必要があるモジュールがあります。これにより、ユーザは、無駄なメッセージが表示されるのを防ぐことができます(コンパイルフェーズ中、ここの2番目のBEGINに表示されています)。「BEGINが失敗しました - コンパイルが終了しました」
問題は、私がBEGINの中で死ぬと投げたメッセージが後ろに埋もれてしまうということです。 BEGIN failed--compilation aborted at
。しかし、私はdie
〜exit 1
を好んでいます。それはトラップ可能なからです。 exit 1
を使用するか、この追加のメッセージを表示しないようにする必要がありますか?
#!/usr/bin/env perl
use strict;
use warnings;
BEGIN {
my $message = "Useful message, helping the user prevent Horrible Death";
if ($ENV{AUTOMATED_TESTING}) {
# prevent CPANtesters from filling my mailbox
print $message;
exit 0;
} else {
## appends: BEGIN failed--compilation aborted at
## which obscures the useful message
die $message;
## this mechanism means that the error is not trappable
#print $message;
#exit 1;
}
}
BEGIN {
die "Horrible Death with useless message.";
}
感謝を!今度は私が得られるのは: 'Alien :: GSLを設定する前に、いくつかの必要なモジュールがないか、アップグレードする必要があります。 これらのモジュールは次のとおりです:\t Sort :: Versions' –
私は言うべきです、これは私が望んだものです! –