my ($max_y) = my ($min_y) = keys(%Year); my ($max_m) = my ($min_m) = keys(%{ $Year{$max_y} }); my $max = $Year{$max_y}{$max_m}; my $min = $Year{$min_y}{$min_m}; for my $y (keys(%Year)) { my $Month = $Year{$y}; for my $m (keys(%$Month)) { my $v = $Month->{$m}; if ($v < $min) { $min = $v; $min_y = $y; $min_m = $m; } elsif ($v > $max) { $max = $v; $max_y = $y; $max_m = $m; } } }
Update: I was initialising $max_y twice instead of initialising $min_m. Fixed.
In reply to Re: min and max in a hash of hash
by ikegami
in thread min and max in a hash of hash
by nagalenoj
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |