ためになるホームページ お問い合わせ




TOP > Perl > Getopt
パラメータの受け取り
Getoptを使って、実行するスクリプトのパラメータの判定が容易にできる。モジュールは、Getopt::Std, Getopt::Longがあり、若干使いかたが異なる。

Getopt::Std;
Getopt::Stdでロードする利点は、各パラメータを容易に指定できる。与えるパラメータは一字である。(-m, -nとか)。パラメータを指定するには、getoptとgetoptsの二2つがある。
getoptもgetoptsも引数にオプション名を指定する。
   getopt "sn";
getoptとgetoptsの違いは、getoptはオプションの後には引数を必ずともない、getoptsは引数を受け取るオプションか引数のいらないオプションかを指定できる。getoptsのオプションの後にコロンをつけると、そのオプションは引数を受け取るという意味になる。オプションが引数を受け取らない設定をし、オプションをONにした時は1となる
また、getoptsは指定していないオプションをつけて実行すると、警告を出す。
オプションで指定された値は、$opt_*(*は、オプション名)にセットされる。

getoptの例
use Getopt::Std;

getopt "mln";
#オプションs,m,lは、$opt_*に入る
print "opt_m = $opt_m\n";
print "opt_l = $opt_l\n";
print "opt_n = $opt_n\n";

実行例
#./test.pl -l 123 -m 5
opt_m = 5
opt_l = 123
opt_n = 

#./test.pl -l123 --mn -n=3
opt_m = n
opt_l = 123
opt_n = =3

getoptsの例
use Getopt::Std;

%opts = ();

#ハッシュに格納
#m, lは引数を受け取らない
#nは引数を受け取る
#ちなみに、getoptでもハッシュ指定できる
getopts ("mln:", \%opts);

foreach $key(keys %opts ) {
    print "$key = $opts{$key}\n";
}

実行例
#./test.pl -lm
l = 1
m = 1

#./test.pl -l -m 3
l = 1
m = 3

#./test.pl -k
l = 
Unknown option: k







Copyright 2007 ためになるホームページ All Rights Reserved.