On 2/26/09 Thu Feb 26, 2009 12:34 PM, "Rick" <[email protected]>
scribbled:
> trying out getting lasrgest key(by value) but below is not working...
>
> help please.
>
> my %files=%{{"one" =>"1", "thiry" =>"30", "four" =>"4", "never" =>"997",
> "forever" =>"100001", "five" =>"5"}};
> my $max;
> print join(" ",keys %files),"\n";
>
> =pod
> grep($max=($files{$_} > $max )? $_ : $max,keys %files);
> =cut
> for my $jot (keys %files) {
> print "$jot $files{$jot}\n";
> }
>
> for my $now (keys %files) {
> $max = $now if $now > $max;
> }
You want to compare values and save keys. You might also want to avoid
comparing an undefined value:
my $max;
for my $now ( keys %files ) {
if( defined $max ) {
$max = $now if $files{$max} > $files{$now};
}else{
$max = $now;
}
}
>
>
> print "<$max>\n";
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/