open (my $in,"<$file") or die "Can't open file '$file' for reading: $!"; open (my $out,">$file.out") or die "Can't open file '$file.out' for writing: $!"; #### Unsuccessful open on filename containing newline at test.pl line 18 #### use strict; use warnings; my $echo="ECHO"; my $value=undef; my $key=undef; my %lijst=(); open (DFFILE,$ARGV[0]) || die "DF-file not found\n"; open (LIST,$ARGV[1]) || die "List not found\n"; while () { ($value, $key) = split(/\t/, $_); $lijst{$key} = $value; } my @listfiles = ; my $all_words_regex = join '|', keys %lijst; for my $file (@listfiles) { open (my $in,"<$file") or die "Can't open file '$file' for reading: $!"; open (my $out,">$file.out") or die "Can't open file '$file.out' for writing: $!"; while (<$in>){ if (m/^($all_words_regex)/){ my $first_word = $1; s/$first_word/$echo/g; s/$echo/$first_word/; } print $out $_; } } close(DFFILE);