Perl在通过STDIN获取值后创建图形

时间:2015-01-08 09:44:27

标签: perl

我在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

如何将此输入更改为图形

1 个答案:

答案 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