スクリプトを実行した後に、userコマンドからオプションとその引数を記録します。コマンドラインオプションとその値の取得
./test.pl --ip localhost --id 400154 --class firstgrade
...と他の多くのオプションと値:
は、このコマンドを考えてみましょう。私の所望の出力は、(log4perlを使用して)、このようになります:
debug - ip=>localhost id=>400154 class=>firstgrade
私は:
use Getopt::Long;
my $ip;
my $id;
my $class;
my %h =('ip' => \$ip,
'id' => \$id,
'class' => \$class);
GetOptions(\%h);
$logger->debug(join('=>',%h));
が、それは動作しません。助けてください。
返信ありがとうございます。しかし、私は間違った方法で問題を説明していると思います。私は各コマンドに50以上のオプションがあるので%hashを定義しました。これらのオプションは静的で、コマンドからそれらの値(例えば--ip localhost)を得ることができるはずです。これは私の問題です。 Imがクリアされない場合は、もっと詳しく説明してください。 –
@Matt Ston:答えを更新しました。現在、@options配列からオプションのリストが生成されています。この方法で、任意の数の予想されるオプションを渡すことができます。 – bvr
あなたのコードによると、どのように@options要素を印刷することができますか?それは、ハッシュ形式のマップを警告するようなオプションと関連する引数を意味しますか? –