my @file1_lines = qw( xxtcgtatccgaggga cgcgcgggggagg jjsjjjjsjjjdtcgtat aaaaaaacccaaan ggtcgtatffaadda gggctggalllslllssdkk ); my @file2_lines = qw( tcgtat gctgga ); my $replace_pattern = join('.*|', @file2_lines) . '.*'; my @output_array; for my $line (@file1_lines) { my $output_line = $line; $output_line =~ s/$replace_pattern//; push @output_array, $output_line; } say for @output_array;