すべてのマシンにログインしようとしています。だから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ます。
192.235.2.71からまでのすべての IP アドレス192.235.2.191を 10 ずつ印刷したい場合は、以下を検討してください。
print join(' ', map "192.235.2.${_}1", 7 .. 19), "\n";