my @name = ("heinz", "karl", "Peter", "Anne", "heinz", "Anne"); my @geb = ("20101920", "23011929", "02121915", "06041966", "20101920", "07071977"); map{unshift(@name,$_->[1]);unshift(@geb,$_->[2]);}sort{$b->[0] <=> $a->[0]}values(%{{map{$name[0]."|".$geb[0] => [$_,shift(@name),shift(@geb)]}(0..$#name)}});