我是Perl的新手。我必须将命令行参数传递给GetOptions方法,以便我可以访问这些变量。我尝试了以下代码:
use Getopt::Long;
$result = GetOptions($ARGV[0] => \$serv_name, $ARGV[1] => \$serv_id);
print "Server name is $serv_name & server id is $serv_id";
但我没有得到理想的输出。那我该怎么做呢?
答案 0 :(得分:3)
试试这个(灵感来自documentation of Getopt::Long):
use Getopt::Long;
GetOptions(
"server_id=i" => \my $serv_id, # numeric
"server_name=s" => \my $serv_name, # string
) or die "Error in command line arguments\n";
print "Server name is $serv_name & server id is $serv_id\n";
如果server_id
参数可能不是数字,请将"server_id=i"
更改为"server_id=s"
以这些方式调用程序:
%> perl ex.pl --server_name=the_name --server_id=1234
# or
%> perl ex.pl -server_name the_name -server_id 1234