#! c:/wampp1/perl/bin/perl use strict; use warnings; use Data::Dumper; my @array = ({name => 'test',entfernung => '43'}, {name => 'person', entfernung => '2'}, {name => 'dsss', entfernung => '6'}); my %hash; @array = sort{$a->{entfernung} <=> $b->{entfernung}}@array; foreach my $fil(keys(%{$array[0]})){ $hash{$fil} = join('|',map{$_->{$fil}}@array); } print Dumper(\%hash);