Perl 如何在散列中查找每个键的最小值和最大值

Perl 如何在散列中查找每个键的最小值和最大值,perl,hash,Perl,Hash,我想获得每个键的最小值和最大值: DATA: $VAR1 = { '0.0' => { '0.0', '1.2', '2.0', '0.4', }, '0.2' => { '2.3',

我想获得每个键的最小值和最大值:

DATA:
$VAR1 = { '0.0' => {  
                    '0.0',
                    '1.2',
                    '2.0',
                    '0.4',
                   },
          '0.2' => {
                    '2.3',
                    '0.1',
                    '0.0',
                   }
        };
我的代码片段:

use List::MoreUtils qw( minmax );

for my $key (sort {$a <=> $b} keys (%seedhash))
{
    my ($min, $max) = minmax values %{$seedhash{$key}};
    print "$key {";
    for my $values (sort {$a <=> $b} keys %{$seedhash{$key}})
    {
        print "$values, ";
    }
    print "} $min : $max \n";
} 
然而,我的输出是:

0.0 {0.0, 1.2, 2,0, 0.4, }  HASH(0x13d13ec0) : HASH(0x142dad70)
0.2 {0.0, 0.1, 2.3, } HASH(0x137e7810) : HASH(0x142fef10)

我不确定我的语法是否正确。任何帮助都将不胜感激。

您的数据毫无意义。它真的是
%seedhash
的转储吗?如果没有,请提供。@M42,数据已被修改。您的数据仍然没有意义。你确定这是转储的结果吗?不,这不是转储。hashref不能包含奇数个元素。(如果输入奇数,最后一个键将隐式接收
undef
)Data::Dumper也不会以这种方式格式化HashRef。请显示实际的数据结构。
my %seedhash = ( '0.0' => [
                    '0.0',
                    '1.2',
                    '2.0',
                    '0.4',
                   ],
          '0.2' => [
                    '2.3',
                    '0.1',
                    '0.0',
                   ]
);

use List::MoreUtils qw( minmax );

for my $key (sort {$a <=> $b} keys %seedhash)
{
    my ($min, $max) = minmax @{$seedhash{$key}};
    print "$key {";
    for my $values (sort {$a <=> $b} @{$seedhash{$key}})
    {
        print "$values, ";
    }
    print "} $min : $max \n";
}
my %seedhash = ( '0.0' => [
                    '0.0',
                    '1.2',
                    '2.0',
                    '0.4',
                   ],
          '0.2' => [
                    '2.3',
                    '0.1',
                    '0.0',
                   ]
);

use List::MoreUtils qw( minmax );

for my $key (sort {$a <=> $b} keys %seedhash)
{
    my ($min, $max) = minmax @{$seedhash{$key}};
    print "$key {";
    for my $values (sort {$a <=> $b} @{$seedhash{$key}})
    {
        print "$values, ";
    }
    print "} $min : $max \n";
}
0.0 {0.0, 0.4, 1.2, 2.0, } 0.0 : 2.0
0.2 {0.0, 0.1, 2.3, } 0.0 : 2.3