我正在使用Pod :: Usage和Getopts :: Long,只有在提供-help或者无法识别参数时才能正常使用打印。但是,如果脚本需要一些参数并且没有提供参数,则它不会打印任何内容而只返回提示符。如果没有给出参数,我怎样才能打印它?以下是我的代码:
my ($opt_name); my $opt_help = 0;
GetOptions ('n=s' => \$opt_name,
'help|?' => \$opt_help) or pod2usage(2); pod2usage(1) if $opt_help;
__END__
=head1 SYNOPSIS
script.pl [-o=<name>]
Options:
-n Name
-help Prints usage
=cut
答案 0 :(得分:2)
您可以直接拨打pod2usage。只需检查设置,看看是否提供了任何设置:
pod2usage() unless $opt_name;
答案 1 :(得分:0)
编辑:马修打败了我。
我之前从未使用过Pod :: Usage,但我认为:
my $opt_REQUIRED_name = ""; my $opt_help = 0;
GetOptions ('n=s' => \$opt_REQUIRED_name,
'help|?' => \$opt_help) or pod2usage(2); pod2usage(1) if $opt_help;
pod2usage(1) if (! $opt_REQUIRED_name);
这不起作用吗?