# $hash{$_} = [ split '||', $hash{$_} ] for keys %hash; $hash{$_} = [ split /\|\|/, $hash{$_} ] for keys %hash; #### my @by_zip = sort {$hash($a}[-1] <=> $hash{$b}[-1] } keys %hash; my @by_age = sort {$hash($a}[0] <=> $hash{$b}[0] } keys %hash; my @by_surname = sort { substr($a, rindex($a,' ')) cmp substr($b, rindex($b,' ')) } keys %hash;