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

Perl create graph after taking values by STDIN

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

如何将此输入更改为图表

您可能想要检查 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