$b{$readID} || [] #### my %b; open(B, "<" . DUMP_B) || die("Could not open file \n"); while () { chomp; my ($id, $ac) = split /\|/, $_; push @{$b{$id}}, $ac; } open( OUTPUT, '>', 'INACTIVE_LIST' ) || die "Could not write to file\n"; open(A, "<" . DUMP_A) || die("Could not open file \n"); while() { chomp; s/\s+//g; if ($b{$_}) { for my $ac (@{$b{$_}}) { print OUTPUT "$_|$ac\n" } } }