if ($sid eq $sidtwobinder[0]) #### my @sid = ('sid 1','sid 2','sid 7','sid 9'); my %hoa; foreach my $el (@unpairedSidBinder){ my ( $key, $data ) = split /\|/,$el; push( @{ $hoa{$key} }, $data ); } foreach my $key (@sid) { my $ary = $hoa{$key} or next; my $temp = join(" ", @$ary ); print "$key|$temp\n"; }