Я новичок в Perl (и программировании в целом), и у меня возникают проблемы с выполнением простой задачи.У меня есть следующий хэш хэшей:
%hash = (
personA => {
2017 => 1,
2018 => 2,
},
personB => {
2015 => 4,
2013 => 28,
2014 => 1, .
},
personC => {
2013 => 3,
2011 => 2,
2012 => 45,
},
);
Я пытаюсь распечатать самый ранний год для каждого человека, например что-то вроде:
personA 2017
personB 2013
personC 2011
Кажется, что List :: Util - лучший инструмент для этого, но я не могу найти пример для адаптации к моим данным.У меня возникли проблемы, потому что решения, которые я нашел, пытаются отсортировать / напечатать первый уровень хэша (т.е. personA и т. Д.), А не годы.
use strict;
use warnings;
my %hash;
my $hash;
%hash = (
personA => {
2017 => 1,
2018 => 2,
},
personB => {
2015 => 4,
2013 => 28,
2014 => 1,
},
personC => {
2013 => 3,
2011 => 2,
2012 => 45,
},
);
use List::Util qw(min);
my $min = min keys %hash;
$hash = {$min => $hash->{$min}};
Спасибо за помощь.