0

我有一个网络,我想为所有 IP 地址分配一个名称。为此,我想制作一个 perl 脚本,它将每个 ip 打印在与 ip 范围不同的行上。我通过 Net:IP 找到了一种方法,但我不知道如何将我的命令行 ip 范围解析为脚本(我是 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;

所以我唯一的问题是命令行语法看起来像这样:perl ip.pl 192.168.10.1 - 192.168.10.255 我无法弄清楚如何在 Net:IP 之后将这个参数解析到我的脚本中('这里')。

谢谢你的每一个想法。

4

1 回答 1

5

改变

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

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

单引号不会评估您的标量。

还有,总是

use strict;
use warnings;
于 2013-03-19T21:47:15.203 回答