我想处理一个功能,这在我看来似乎很自然,而且我不知道如何使用Getopt perl软件包(无论Std ot Long)如何处理它。如何使用Getopt处理主要选项
我想是这样的:
./perlscript <main option> [some options like -h or --output-file some_name]
选项将与处理 - 或 - ,但我希望能够让用户给我没有破折号的主要和必要的选择。
Getopt能够做到这一点,还是我必须手工处理?
我想处理一个功能,这在我看来似乎很自然,而且我不知道如何使用Getopt perl软件包(无论Std ot Long)如何处理它。如何使用Getopt处理主要选项
我想是这样的:
./perlscript <main option> [some options like -h or --output-file some_name]
选项将与处理 - 或 - ,但我希望能够让用户给我没有破折号的主要和必要的选择。
Getopt能够做到这一点,还是我必须手工处理?
听起来好像你在谈论非选项 - 基本的命令行参数。他们可以通过@ARGV
访问。该Getopt
模块将通过你的脚本通过定期的参数不受干扰:
use strict;
use warnings;
use Getopt::Long;
GetOptions (
'foo' => \my $foo,
'bar=s' => \my $bar,
);
my @main_args = @ARGV;
# For example: perl script.pl --foo --bar XXX 1 2 3
# Produces: foo=1 bar=XXX main_args=1 2 3
print "foo=$foo bar=$bar [email protected]_args\n";
如果你想拥有它没有-
写的,这也是不可选的(如你specifiy),然后通过任何推理是不选项,但是参数。你应该只需通过
my $mainarg = shift
读自己,然后让的Getopt做它的事。 (之后您可能需要检查$#ARGV
以验证主要参数是否实际给出。)
那是我亲手处理它的意思。 – 2010-06-03 13:45:05