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

Dmitry Karpich meettya на gmail.com
Вс Янв 23 10:07:35 PST 2011


On Jan 23, 2011, at 1:59 PM, Ivan Petrov wrote:

> > А если use encoding 'utf8'; ?
> 
> а при чем тут encoding? в него еще искусственный интеллект вроде не встроили чтобы отличать строки с багами от остальных
> 

Кстати, да.
Проверил на Ubuntu

#!/usr/bin/perl

use strict;
use warnings;
use encoding 'utf8';
open qw(:std :utf8);

use locale;
use POSIX qw(locale_h strtod);

setlocale(LC_ALL, "ru_RU.UTF-8");

my $a = qq(п р и в е т);
print 'yes'."\n" if ( $a =~ /\w+/ ) ;
print uc($a),"\n";

open(my $fh, '<', 'decodeabrakadabra/not-found') or die "Ошибка открытия файла: ".$!;

дает нам 

$ ./01-test.pl
yes
П Р И В Е Т
Ошибка открытия файла: Нет такого файла или каталога at ./01-test.pl line 18.

т.е. оно верно интерпретирует русский и нормально печатает локализованную ошибку.

Или я опять чего-то не учел?

> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org



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