这是我的代码:
#!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
Run Code Online (Sandbox Code Playgroud)
我打算用散列中存在的相应值替换所有数字.但它输出:
a2a2a2
aaaaa
222
Hit any key to close this window...
Run Code Online (Sandbox Code Playgroud)
为什么foreach循环只运行一次?谁能为我解释一下?我应该如何更改代码?我希望它输出:
ababab
aaaaa
bbb
Run Code Online (Sandbox Code Playgroud)
提前致谢.