Perl中数字和标量的连接

bd1*_*257 0 perl

我正在尝试登录所有机器.所以写了一个Perl脚本

my $i = 7;
while ($i < 20){
    my $key = "192\.235\.2\.$i.1 ";
    print $key;
    $i++;
}
Run Code Online (Sandbox Code Playgroud)

从哪个192.235.2.71开始.191.但连接在这里失败了.

Bor*_*din 5

您不能字符串中使用concatentation .$i.1在双引号字符串里面将插入值,$i但保持.1原样.您可以在字符串外部连接并写入'192.235.2.'.$i.'1'(点不需要转义).但它写起来更容易"192.235.2.${i}1".${i}是一样的,$i但避免了歧义$i1.

如果要以10 192.235.2.71192.235.2.191增量打印所有IP地址,请考虑

print join(' ', map "192.235.2.${_}1", 7 .. 19), "\n";
Run Code Online (Sandbox Code Playgroud)