# tie HASH, 'Tie::SortHash', ANON_HASH, SORT_EXPR tie my %hash, 'Tie::SortHash', { 'John Doe' => 25, 'Jane Doe' => 39, 'Jim Baker' => 30 }, q( my( $c, $d ) = ( $a, $b ); $c =~ s/\w+\s//; $d =~ s/\w+\s//; $c cmp $d || $hash{$b} <=> $hash{$a} );