#!/usr/bin/perl use warnings; use strict; my %h = ("als" => 5, "wie" => 3, "Von" => 3, "zu" => 5, "von" => 10); my $i; my $u; my @k = keys(%h); my %h2 = (); foreach $i (@k) { if (! exists($h2{$h{$i}})) { $h2{$h{$i}} = []; } push( @{ $h2{$h{$i}} }, $i); } my @k2 = keys(%h2); @k2 = sort({$b <=> $a} @k2); foreach $i (@k2) { print "$i\t"; foreach $u (@{ $h2{$i} }) { print "$u, "; } print "\n"; }