我在PERL中有一个代码,当我直接取值时
$graph = {
'A' => {'B' => 1, 'C' => 5},
'B' => {'C' => 4, 'D' => 2},
'C' => {'A' => 1, 'B' => 3},
'D' => {'C' => 2, 'B' => 3}
};
但我的输入是这种格式
A B 1
A C 5
B C 4
B D 2
C A 1
C B 3
D C 2
D B 3
如何将此输入更改为图形
答案 0 :(得分:4)
您可能想要检查HoH
代。
use strict;
use warnings;
my $graph = {};
while (<DATA>) {
my ($k1, $k2, $val) = split;
$graph->{ $k1 }{ $k2 } = $val;
}
__DATA__
A B 1
A C 5
B C 4
B D 2
C A 1
C B 3
D C 2
D B 3