perlのARGVに基づいてuse strict/warningsを有効/無効にすることはできますか?perlのARGVに基づいてuse strict/warningsを有効/無効にすることはできますか?
このコードを試しましたが、動作しません。私は '$ x = 2'の行で警告エラーが発生するはずだと信じています。
# Do this at the beginning of the script
BEGIN {
if ($ARGV[0] =~ /^Y$/i) {
use strict;
use warnings;
}
else {
no strict;
no warnings;
}
}
$x = 2;
print "x is $x\n";
目的は、開発時にのみ警告メッセージを有効にすることです。
ありがとう!私はそれを試して、ARGV [0]がYならば正常に動作しますが、ARGV [0]が空であるか 'Y'でなければエラーを投げます。 /usr/opt/perl5/lib/5.8.8/if.pm 7行目の 'if if '(いくつかのコードがリスト・コンテキストで空のリストを返すか)の引数が少なすぎます。 BEGINは失敗しましたtest.pl 3行目 – criz
固定する必要があります – ikegami
私は同じ答えをgoogled。おかげで多くの仲間! – criz