for my $hashref (@$sur) { if (exists $hash1{$hashref->{three}}) { $hash1{$hashref->{three}} .= "####$hashref->{four}"; } else { $hash1{$hashref->{three}} = join '<-->', map $hashref->{$_}, (qw(one two four)); } }