#! /usr/bin/perl use strict; use warnings; my %words = qw( als 5 wie 3 Von 3 zu 5 von 10 ); my %by_number; while ( my ($k,$v) = each %words ) { push @{ $by_number{$v} }, $k; } require Data::Dumper; print Data::Dumper->new( [ \%by_number ], [ qw( *by_number ) ] )->Sortkeys(1)->Dump();