我有以下输入数据
Country1:operator1
Country1:operator2
Country1:operator3
Country2:operator1
Country2:operator2
Country2:operator3
我想将此数据插入哈希%INFO
中,以便每个键对应于“运算符”数组,因此我可以按以下方式迭代
foreach $i ( keys %INFO ) {
foreach $operator ( $INFO{$i} ) {
print " $i ---> $operator \n";
}
}
这是我自己的无法正常工作的解决方案
open($fh, "$info_file");
while (my $row = <$fh>) {
chomp $row;
@tokens = split(":",$row);
$name = $tokens[0];
$operator = $tokens[2];
if ($name =~ /^[A-Z]/) {
if ( exists $INFO{$name} ) {
$ptr = \$INFO{$name};
push(@ptr, $operator);
}
else {
@array = ( "$operator" );
$INFO{$name} = [ @array ];
}
}
}
close($f);