我正在尝试登录所有机器。于是写了一个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 ";
无论如何,无需转义点,您不在正则表达式匹配上下文中...