Итак, следующим шагом было найти строку, соответствующую максимальному количеству очков, я написал что-то вроде этого. Это дает мне в год, что такое максимальный балл, но я не могу получить индекс рассчитанного максимума, чтобы использовать его для печати соответствующих значений в столбце 1.
Например: если для 1901 года оценка2 является максимальной, то я хочу вывести
a2 1901 score2
Но с моим текущим кодом я могу печатать только
1901 score2
use strict;
use warnings;
use List::Util qw( min max );
use Data::Dumper;
my $file=shift;
open (DATA, $file);
my %h1;
my @tmp;
my $max_value;
my $a;
my $b;
while (my $line = <DATA>) {
chomp $line;
my ($val, $year, $score) = split /\s+/, $line;
push @{$h1{$year}}, $val;
push @{$h1{$year}}, $score;
}
foreach my $x (sort keys %h1)
{
foreach (@{$h1{$x}})
{
if ($_=~/^[0-9]/)
{
push @tmp, $_;
}
$max_value= max @tmp;
}
print "$x\t$max_value\n";
}
print Dumper \%h1;