我想處理一個功能,這在我看來似乎很自然,而且我不知道如何使用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