LINUX.ORG.RU

perl utf8 regexp

 , ,


0

1

И снова utf8;
Не отрабатывает regexp!
utf8.pl:

#!/usr/bin/perl -w
use utf8;
foreach (<*>) {
    my $str = $_;
    $str=~s/^(\w).*/$1/;
    print "$str\n";
}
файлы в дирректории:
utf8.pl
привет.doc
выводит:
# ./utf8.pl
привет.doc
u
perl v5.10.1
система utf8.

★★

#!/usr/bin/perl -w
use utf8;
foreach (<*>) {
    utf8::decode($_);
    my $str = $_;
    $str=~s/^(\w).*/$1/;
    print "$str\n";
}

Perl не знает в какой кодировке имена файлов в файловой системе. Поэтому ему нужно об это явно указать.

Olegymous ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.