うじうじいまだにGetOptions
2007/06/26 追記
30行目にバグがあり修正。
結局必須のキー、例えば$arg_priceが正しく設定されたかどうかは泥臭くやるしかないのか。
1 #!/usr/local/bin/perl 2 3 use strict; 4 use warnings; 5 use Getopt::Long; 6 use Pod::Usage; (略) 16 package main; 17 my $arg_age = undef; 18 my $arg_price = undef; 19 my $arg_up_per = undef; 20 my $arg_help = undef; 21 22 my $arg_result = GetOptions( 23 'age=i' => \$arg_age, 24 'price=i' => \$arg_price, 25 'up_percent=f' => \$arg_up_per, 26 'help|man' => \$arg_help, 27 ) or pod2usage('unknown option'); 28 29 pod2usage('show usage') if $arg_help ;
pod2usage('you forget to set some parameter')の部分でしばし悩みました。
せっかく23行目とかで=iで必須としてるのをどこで評価するのか。
GetOptionsの解説ページでは紹介されていないのですね。
www778$ perl count_pay.pl -a a Value "a" invalid for option age (number expected) unknown option (略) www778$ perl count_pay.pl -aaaa Unknown option: aaaa unknown option (略) www778$ perl count_pay.pl -m show usage
まだいまいち納得して無いけど、これであきらめます。