小编nie*_*ang的帖子

如何使这个嵌套循环继续在perl?

这是我的代码:

#!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)

提前致谢.

perl hash

3
推荐指数
1
解决办法
526
查看次数

标签 统计

hash ×1

perl ×1