misc
いくつかのスクリプトで使用されるモジュールがあります。各スクリプトは、2 つの標準オプション (-help
および-verbose
) と独自のオプションを受け入れます。
したがって、すべてのスクリプトには
my ($verbose,$quiet) = (1,0);
my $help = undef;
...
GetOptions("verbose|v+" => \$verbose, "quiet|q+" => \$quiet, "help|h" => \$help,
....)
or die "GetOptions: error (see above)\n";
if (defined $help) { usage(); exit; }
$verbose -= $quiet;
これはすでに退屈です。
misc
ここで、関数に の値も認識させたいので、 et al をスクリプト$verbose
に移動して使用する必要があります。$verbose
misc
$misc::verbose
その他:
our $verbose = 1;
my $quiet = 0;
our $help = undef;
our %common_options = ("verbose|v+" => \$verbose, "quiet|q+" => \$quiet, "help|h" => \$help);
sub set_verbose () { $verbose -= $quiet; }
脚本:
GetOptions(\%misc::common_options,"verbose|v","quiet|q","help|h",
"count=i" => \$count, "start=i" => \$start, "mincoverage=i" => \$mincoverage,
"output=s" => \$output, "input=s" => \$input, "targets=s" => \$targets)
or die "GetOptions: error (see above)\n";
if (defined $misc::help) { usage(); exit; }
misc::set_verbose();
これはあまり良くありません (とにかく動作しないように見えますが、少なくとも-help
無視されます)。
では、モジュールとスクリプトの間で共有されるコマンド ライン オプションには、何を使用するのでしょうか?