perl的Getopt::Long和pod::usage
发布时间:2020-12-16 00:16:28 所属栏目:大数据 来源:网络整理
导读:代码: 需要显式地定义变量且初始化。例如optionX。 如果没有定义变量且显式初始化,且没有在命令行指定选项,则选项对应的变量将为未定义。 ? # !/bin/perl-5.8.3/bin/perl$ use ?warnings;$ use ?strict;$ use ?Data::Dumper;$ use ?Getopt::Long;$ use ?P
代码: 需要显式地定义变量且初始化。例如optionX。 如果没有定义变量且显式初始化,且没有在命令行指定选项,则选项对应的变量将为未定义。 ?
#
!/bin/perl-5.8.3/bin/perl$
use?warnings;$ use?strict;$ use?Data::Dumper;$ use?Getopt::Long;$ use?Pod::Usage;$ our? $g_opts; our? $optionX= '';? # if?not?defined?in?command?line,?it?will?be?empty?string sub?parse_opts{ ???? my? $result?=?GetOptions( ???????????????????? " optionA=s "?=>? $g_opts->{ ' optionA '},# string ???????????????????? " optionB=s "?=>? $g_opts->{ ' optionB '},# string ???????????????????? " optionC=i "?=>? $g_opts->{ ' optionC '},# integer ???????????????????? " optionD=f "?=>? $g_opts->{ ' optionD '},# float ???????????????????? " optionX=f "?=>? $optionX, ???????????????????? " optionY=f "?=>? $optionY, ???????????????????? " verbose "???=>? $g_opts->{ ' verbose '},# flag ???????????????????? " quiet "?????=>? sub?{? $g_opts->{ ' verbose '}?=? 0?}, ???????????????????? " help|? "????=>? $g_opts->{ ' help '} ??????????????????); ???? if(!( $g_opts->{ ' optionA '})){ ????????&pod2usage(?-verbose?=>? 1); # exit?status?will?be?1 ????} ???? if( $g_opts->{ ' help '}){ ????????&pod2usage(?-verbose?=>? 1); # exit?status?will?be?1 ????} } &parse_opts(); print( " n$optionXn "); print( $optionY);? # if?not?defined?in?command?line,?it?will?be?undefined print( $g_opts->{ " optionB "}); foreach? my? $key?( keys?%{ $g_opts}){$ ?? if(! $g_opts->{ $key})?{ next;}?$ ?? print( $key?.? " = "?.? $g_opts->{ $key}?.? " n ");$ ??}$ $ exit( 0);$ $ $ __END__$ $ =head1?NAME$ $ sample?-?Using?Getopt::Long?and?Pod::Usage$ $ =head1?SYNOPSIS$ $ sample?[options]?[args?...]$ $ Options:?$ $ ???-optionA?????????optionA?$ ???-optionB?????????optionB$ ???-optionC?????????optionC?$ ???-optionD?????????optionD?$ ???-verbose?????????verbose?$ ???-quiet???????????noverbose?$ ???-help????????????brief?help?message$ $ =head1?OPTIONS$ $ =over? 8$ $ =item?B<-help>$ $ Print?a?brief?help?message?and?exits.$ $ =back$ $ =head1?DESCRIPTION$ $ B<This?program>?will? read?the?given?input?file(s)?and? do?something$ useful?with?the?contents?thereof.$ $ =cut$ ? 完!? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |