[Moscow.pm] tie на стандартные переменные

Vladimir Timofeev vovkasm на gmail.com
Вс Янв 23 07:40:31 PST 2011


2011/1/23 Alex Varyanick <q на cono.org.ua>:
> 2011/1/23 Ivan Petrov <i.petro.77.00 на gmail.com>:
>>
>>> Тоже не воспроизводится, включал локаль русскую:
>>> % cat test.pl
>>> #!/usr/bin/perl
>>>
>>> use strict;
>>> use warnings;
>>> use utf8;
>>> use open qw(:std :utf8);
>>> use POSIX qw(setlocale LC_ALL);
>>>
>>> print setlocale(LC_ALL, "ru_RU.UTF-8"), "\n";
>>>
>>> open(my $fh, '<', 'abrakadabra/not-found') or die "Ошибка открытия файла:
>>> $!";
>>>
>>> % ./test.pl
>>> ru_RU.UTF-8
>>> Ошибка открытия файла: No such file or directory at ./test.pl line 11.
>>>
>> мне лениво флеймить. а это уже чистой воды флейм пошел :(
>
> Почему Флейм? Мне допустим интересно как научить перл говорить по
> русски, я если честно первый раз вижу, что ошибки у перл бывают
> локализированными (мне очень стыдно :).
Потому что это не у Perl, это у libc в вашей системе сообщения об
ошибках могут быть локализованными или нет.

Вот у меня в Ubuntu ():
$ LANG=ru_RU.UTF-8 perl -E 'open my $fh,"<","not-existing-file"; say $!'
Нет такого файла или каталога
$ LANG=en_US.UTF-8 perl -E 'open my $fh,"<","not-existing-file"; say $!'
No such file or directory

А вот во FreeBSD (FreeBSD 8.2-RC2):
$ LANG=ru_RU.UTF-8 perl -E 'open my $fh,"<","not-existing-file"; say $!'
No such file or directory
$ LANG=en_US.UTF-8 perl -E 'open my $fh,"<","not-existing-file"; say $!'
No such file or directory
За то вот так:
$ LANG=ru_RU.KOI8-R perl -E 'open my $fh,"<","not-existing-file"; say
$!' | iconv -f koi8-r -t utf-8
Нет такого файла или каталога

>
> --
> Varyanick I. Alex
> icq: 102 575 440
> skype: cono..
> q на cono.org.ua
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Vladimir Timofeev <vovkasm на gmail.com>


Подробная информация о списке рассылки Moscow-pm