可选择传递命令行参数?

时间:2014-10-27 18:12:08

标签: perl

我需要选择接受正在执行我的脚本的用户的命令行参数。 (我不想使用GetOptions())。

我有两个变量,

my ($port_name, $report);
$port_name = $ARGV[0];
$report = $ARGV[1];

if (defined $port_name){    
    ....
}
if (defined $report){   
    ....
}

如果$report标志没有作为命令行参数给出,那么我不希望运行第二个if-block。如果没有perl给我一个错误,怎么办呢?

感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

您的代码应按预期工作.....

hi[root@matthewharris cpanel]# perl blah.pl 1
hi[root@matthewharris cpanel]# perl blah.pl 1 2
hino[root@matthewharris cpanel]# 

[root@matthewharris cpanel]# cat blah.pl 
#!/usr/bin/perl
use strict;
use warnings;
my ( $port, $report ) = @ARGV;

if ( $port ) {
    print 'hi';
}
if ( $report ) {
    print 'no';
}