我有一个像这样的哈希:
'IRQ_VSAFE_LPM_ASC_0' => '140',
'IRQ_VSAFE_LPM_ASC_1' => '141'.......and so on
Run Code Online (Sandbox Code Playgroud)
我想在散列中的所有键中用ASC_1替换ASC_.我试过这个:
foreach $_(keys $hash)
{
s/ASC_/ASC_1/g;
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
Сух*_*й27 15
您必须从哈希中删除旧密钥并插入新密钥,
use strict;
use warnings;
sub rename_keys {
my ($hash, $func) = @_;
my @k1 = my @k2 = keys %$hash;
$func->() for @k2;
@$hash{@k2} = delete @$hash{@k1};
}
my %hash = (
'IRQ_VSAFE_LPM_ASC_0' => '140',
'IRQ_VSAFE_LPM_ASC_1' => '141',
);
rename_keys(\%hash, sub { s/ASC_/ASC_1/ });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |