这是我的代码:
#!perl -w
use strict;
my %hash = (
1 => "a",
2 => "b",
);
foreach my $num ( keys %hash ) {
while (<DATA>) {
s/$num/$hash{$num}/g;
print;
}
}
__DATA__
121212
11111
222
我打算用散列中存在的相应值替换所有数字。但它输出:
a2a2a2
aaaaa
222
Hit any key to close this window...
为什么 foreach 循环只运行一次?谁能给我解释一下?我应该如何更改代码?我希望它输出:
ababab
aaaaa
bbb
提前致谢。