我正在尝试登录所有机器。于是写了一个Perl脚本
my $i = 7;
while ($i < 20){
my $key = "192\.235\.2\.$i.1 ";
print $key;
$i++;
}
从192.235.2.71
到.191
。但是这里的连接失败了。
我正在尝试登录所有机器。于是写了一个Perl脚本
my $i = 7;
while ($i < 20){
my $key = "192\.235\.2\.$i.1 ";
print $key;
$i++;
}
从192.235.2.71
到.191
。但是这里的连接失败了。
您不能在字符串中使用连接。$i.1
在双引号字符串内将插入 的值,$i
但保持.1
原样。您可以将连接放在字符串之外并写入'192.235.2.'.$i.'1'
(点不需要转义)。但它更容易编写"192.235.2.${i}1"
。${i}
与 相同,$i
但避免了与 的歧义$i1
。
如果要以10 为增量打印从192.235.2.71
到的所有 IP 地址,请考虑192.235.2.191
print join(' ', map "192.235.2.${_}1", 7 .. 19), "\n";
如果要连接,则不是使用字符串连接,而是使用字符串插值:
my $key="192.235.2." . $i . ".1 ";
如果您想通过插值获得相同的结果:
my $key="192.235.2.$i.1 ";
无论如何,无需转义点,您不在正则表达式匹配上下文中...