【发布时间】:2014-09-22 07:29:21
【问题描述】:
我正在尝试从以下示例文件创建哈希:
示例文件:
#NewName OldName
Axc.Sx2.1_Axc.Wx2.1 1BDER
Axc.Sx2.1_Axc.Wx2.1 1ADER
Axc.Wxx.5 1DDER
哈希的键应该是newName,值应该是oldname。下面的代码适用于文件中唯一的行:
while (<$mapF>) {
chomp $_;
next if /^\s*(#.*)?$/;
next if /^\s+.*$/;
##latestRuleName OldRuleName
if ( $_ =~ /(\S+)\s+(\S+)/gi ) {
# create list and apped $2
$mapHash{$1} = $2;
}
}
foreach ( keys %mapHash ) {
print "$_\n";
}
但是对于重复的条目(如上面 sn-p 中的第 1 行和第 2 行),第一个条目会被第二个条目覆盖。因此,我的哈希中只有两个条目:
Axc.Sx2.1_Axc.Wx2.1
Axc.Wxx.5
有没有办法获取 mapHash 中的所有三个条目?
【问题讨论】: