I can confirm that your code works fine for me on Linux when the input file has LF line endings, but not when it has CRLF line endings. So I am guessing that is the problem, to confirm, see the Basic debugging checklist and use e.g. Data::Dumper with $Data::Dumper::Useqq=1; turned on. If CRLF is indeed the issue, there are a couple of ways to fix this: You could add the :crlf PerlIO layer when reading the files, as in open (IN,'<:raw:encoding(UTF-8):crlf', $file) (note I added the :raw as technically, the CRLF conversion should happen after the decoding, although that shouldn't really be a problem with UTF-8 I believe); you could convert the files before processing using e.g. fromdos from Tofrodos; or you could change the regex to adapt, as in s/^[a-z].*[a-z]\r?$//gmi (wouldn't be my preferred solution, but TIMTOWTDI).
In reply to Re: Perl regex txt file new line (not recognised?)
by haukex
in thread Perl regex txt file new line (not recognised?)
by thurinus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |