on Thu, 29 Aug 2002 20:40:19 GMT, David Wagner wrote:

> my %h = ();
> 
> $h {"1"} = [ "some string","other string",3 ] ;
> $h {"2"} = [ "some string","other string",2 ] ;
> $h {"3"} = [ "some string","other string",1 ] ;
> 
> foreach my $MyKey (sort { $a->[1]<=>$b->[1] } map{[$_,$h{$_}[2]]}
> keys %h) { 
>    printf "%-s -> %-s\n", $MyKey->[0], $MyKey->[1];
> }
> 
> Output:
> 3 -> 1
> 2 -> 2
> 1 -> 3

You don't need map in this case, a simple 

    foreach my $MyKey ( sort { $h{$a}->[2] <=> $h{$b}->[2] } keys %h ) {
        printf "%-s -> %-s\n", $MyKey, $h{$MyKey}->[2];
    }

will work equally well without the need to create extra anonymous arrays.

-- 
felix

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to