Folks, I want to sort my masked hashes into neat little piles for easier digestion: Please note this is _example_ data 8-)
my $h = { a => { name => 'apple', taste => 3 }, b => { name => 'peach', taste => 2 }, c => { name => 'banana', taste => 2 }, } I want to sort first on taste and then on name, [and in the real world on other things as well..] ATM I do this foreach my $item ( sort { return $a->{taste} <=> $b->{taste} unless $a->{taste}==$b->{taste}; return $a->{name} cmp $b->{name}; } values %$h ) { print "Name: $item->{name} taste: $item->"taste}\n"; } How would a Perl god code a multi-key sort function? What about when there are LOTs of fields? e.g. sort { foreach my $field (qw( taste weight cost size )) { return $a->{$field} <=> $b->{$field} unless $a->{$field}==$b->{$field}; } foreach my $field (qw( name colour supplier store )) { return $a->{$field} cmp $b->{$field} unless $a->{$field} eq $b->{$field}; } } values %$h An acolyte begs for divine inspiration! TIA Jeff -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]