perl的hash of hash 最便于一对多对应的处理

假设一个文件里面,每行格式为:

中文单词;英文单词


但是,全部行可能重复,也可能英文单词不一样,如果想方便地整理出所有中文单词的候选英文单词,用hash of hash最方便。

看下面的例子,英文候选\t分割。


my %chn_eng_hash = ();
while(<IN>){
chomp();
my ($chn,$eng) = split(/\;/);
$chn =~s/^\s+//g;
$chn =~s/\s+!//g;

next if('' eq $chn);

$chn_ipc_hash{$chn}{$eng} = 1;



}
close(IN);


## output
for  my $chn_as_key (keys %chn_eng_hash ){
print $chn_as_key, " ||| ";
for  my $eng_as_key (keys %{$chn_eng_hash{$chn_as_key} }){
  print $eng_as_key, "\t";
}
print "\n";
}



你可能感兴趣的:(perl)