↓こんな感じで使用します。とうより、自分用メモ。
#!/usr/local/bin/perl use strict; use warnings; # http://tagomoris.hatenablog.com/entry/20120918/1347991165 use Getopt::Long qw(:config posix_default no_ignore_case gnu_compat); use Data::Dumper; my $cmd_opts = {}; main(); sub main { my $cmd_opts = {}; # Getopt::Long::GetOptions により引き数が蓄積 my @defined_opts = ('conf_file=s','mail_type=s','mail_data=s','subject=s','output=s'); #不明なoptionが与えられた場合 unless(Getopt::Long::GetOptions($cmd_opts,@defined_opts)){ print_usage(); return; } #本来?は、ここで、与えられた引き数をvalidataion if(scalar(keys %$cmd_opts)==0){ print_usage(); return; } #で、その後の処理に入る... } sub print_usage { print "Usage: $0 COMMAND [OPTION]\n"; print ' --conf_file=$FILE_PATH',"\n"; print " --mail_data=[NULL, BULK_MAIL]\n"; print ' --subject=$SUBJECT',"\n"; print ' --output=[NULL, FILE, $MAILTO]',"\n"; }