汎用オプションの取得 (module)Getopt-Long

back
Perl::Getopt・Getoptions
標準モジュール


use Getopt::Long;
#usage
#perl getopt.pl --verbose --num 1 --str hoge
#output
#1,test2,test3,10
my $result = GetOptions(
                        "verbose" => \$verbose,
                        "num=i" => \$num,
                        "str=s" => \$str,
                        "opt:s" => \$opt,
);
if( $result != 0 ){
    print "error\n";
}
if ($verbose) {
  print "num: $num\n";
  print "str: $str\n";
  print "opt: $opt\n" if (defined $opt);
}
else {
  print "$num, $str";
  print ", $opt" if (defined $opt);
  print "\n";
}


長いオプション指定・引数付きのオプション指定が可能

"num=i"
    ^  ここは "=" は引数が必須のオプション
              ":" は引数が任意のオプション

"str=s"
     ^ ここは "s" は string
              "i" は 整数
              "f" は 浮動小数点(負数 OK)

ハッシュで受け取るには

GetOptions (\%OPT,
            "verbose",
            "num=i",
            "str=s",
            "opt:s");

back