2013-03-19 135 views
0

我有一个网络,我想分配所有IP地址的名称。为此,我想制作一个perl脚本,它将在ip范围的单独行上打印每个ip。我通过Net:IP找到了一种方法,但我无法弄清楚如何将脚本的命令行IP范围解析为脚本(我是用Perl创建的)。我的脚本是这样的:perl解析命令行参数

#!/usr/local/bin/perl 
use Net::IP; 
my $test=join(' ',@ARGV); 
my $ip = new Net::IP ('$test') || die; 
do { 
    print $ip->ip(), "\n"; 
} while (++$ip); 

exit; 

所以我唯一的问题是,COMAND行语法看起来是这样的:perl的ip.pl 192.168.10.1 - 192.168.10.255,我可以;吨弄清楚如何解析这个说法在Net:IP('here')之后进入我的脚本。

感谢您的每一个想法。

+2

'我的$测试=加入(””,@ARGV); “$ test”;'也可以写成'“@ARGV”'。 – TLP 2013-03-19 22:27:11

回答

5

变化

my $ip = new Net::IP ('$test') || die; 

my $ip = new Net::IP ($test) || die; 

单引号不会评价你的标量。

而且,总是

use strict; 
use warnings; 
+0

非常感谢。有用 ! – user2188468 2013-03-19 21:52:02