История изменений
Исправление AITap, (текущая версия) :
Фокус - в символах конца строки \r\n вместо \n:
$ cat test.pl
#!/usr/bin/perl
use warnings;
use strict;
use utf8;
use feature 'say';
use Encode;
open my $fh, "<:crlf:encoding(cp866)", $ARGV[0] or die $!;
binmode STDOUT, ":utf8";
while (<$fh>) {
say /^L#48595284#МУЗ Нефтекумская ЦРБ#$/;
}
$ perl test.pl test.txt
1
Исправление AITap, :
Странно, сделал исходник в utf8, файл в cp866 - работает:
$ cat test.pl
#!/usr/bin/perl
use warnings;
use strict;
use utf8;
use feature 'say';
use Encode;
open my $fh, "<:encoding(cp866)", $ARGV[0] or die $!;
binmode STDOUT, ":utf8";
while (<$fh>) {
say /L#48595284#МУЗ Нефтекумская ЦРБ#/;
}
$ perl test.pl test.txt
1
Кстати, у него конец строки не \n, а \r\n. Добавьте :crlf к IOLayer'ам при открытии файла, и регулярка, содержащая $, заработает.
Исходная версия AITap, :
Странно, сделал исходник в utf8, файл в cp866 - работает:
$ cat test.pl
#!/usr/bin/perl
use warnings;
use strict;
use utf8;
use feature 'say';
use Encode;
open my $fh, "<:encoding(cp866)", $ARGV[0] or die $!;
binmode STDOUT, ":utf8";
while (<$fh>) {
say /L#48595284#МУЗ Нефтекумская ЦРБ#/;
}
$ perl test.pl test.txt
1