The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"OpenNews: Релиз Perl 5.10.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [Проследить за развитием треда]

"OpenNews: Релиз Perl 5.10.0"  
Сообщение от opennews on 19-Дек-07, 13:22 
Анонсирован (http://groups.google.com/group/perl.perl5.porters/msg/111bfa...) выход релиза Perl 5.10.0 (http://search.cpan.org/~rgarcia/perl-5.10.0/).


Perl 5.10.0 включает в себя некоторые элементы Perl 6, а также:


-  Новые возможности регуляных выражений
-  Оптимизированную систему распределения памяти
-  Переработанный механизм работы с UTF-8 строками
-  Возврат к старой схеме обработки сигналов (до 5.8)
-  В базовый состав включены модули: Math::BigInt::FastCalc, Compress::Zlib, IO::Zlib, Archive::Tar, Digest::SHA, ExtUtils::CBuilder, ExtUtils::ParseXS, Module::CoreList.
-  Реализован оператор "// " ($a // $b эквивалентно defined $a ? $a : $b; $c //= $d эквивалентно $c = $d unless defined $c).

URL: http://search.cpan.org/~rgarcia/perl-5.10.0/
Новость: http://www.opennet.ru/opennews/art.shtml?num=13340

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Релиз Perl 5.10.0"  
Сообщение от vadiml on 19-Дек-07, 13:22 
> Переработанный механизм работы с UTF-8 строками

это, наверное, самое нужное, а то приходится на каждом углу указывать что используется utf8 и всё равно проверять правильно ли используется

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Релиз Perl 5.10.0"  
Сообщение от зю on 19-Дек-07, 15:05 
а где именно надо указывать?
я может что-то делаю не так, но ни в одном месте у меня нет указания на utf8 и все строки таковыми и остаются без каких-либо телодвижений.
юзаю бздю и линукс, правда, все окружение по возможности всегда utf8.
кстати, перл и выбрал из-за того что никакого гимора с юникодом.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Релиз Perl 5.10.0"  
Сообщение от fennel (??) on 19-Дек-07, 16:16 
А ты попробуй regexp с русскими буквами сделать. Классы русских букв не работают.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Релиз Perl 5.10.0"  
Сообщение от angra (ok) on 19-Дек-07, 21:48 
Поэкспериментируй с tr, например замени часть латинских букв вроде c,m,o,a на русские или наоборот.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Релиз Perl 5.10.0"  
Сообщение от MicRO email on 20-Дек-07, 08:37 
угу регулярка+utf был жескачь, нуна щас 5.10 потестить поглядеть как работает
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Релиз Perl 5.10.0"  
Сообщение от Stanislaus on 20-Дек-07, 15:54 
Ураа!

Новый switch воодушевляет.
given ($foo) {
    when (/^abc/) { $abc = 1; }
    when (/^def/) { $def = 1; }
    when (/^xyz/) { $xyz = 1; }
    default { $nothing = 1; }
}
Насчет плохой работы utf8:
use utf8; # чтобы указать, что исходник программы написан с использованием utf-8
# если данные поступают из неизвестного источника и Perl не может определить, что это utf-8:
# Используйте модуль Encode
# то есть, например, чтобы
my ($data) = $sth->fetchrow_array;
$data =~ s/морожное/пирожное/gi;
# сработало нормально, нужно указать Perl, что исходник в UTF-8, и скорее всего бит Unicode в $data не установлен.
use utf8;
use Encode;
...
my ($data) = map {Encode::decode('UTF-8',$_)} $sth->fetchrow_array;
$data =~ s/морожное/пирожное/gi;

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Релиз Perl 5.10.0"  
Сообщение от 2l00p on 21-Дек-07, 07:44 
Linux a6m 2.6.18-4-k7 #1 SMP Mon Mar 26 17:57:15 UTC 2007 i686 GNU/Linux

LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

This is perl, v5.8.8 built for i486-linux-gnu-thread-multi

------------------
#!/usr/bin/perl -w

use encoding "utf8";

$_ = "Жизнь, она как жёрдочка в курятнике - короткая и вся в дерьме.";

s/\w{8}/СЛОВО/g;
print $_;
<>;
------------------

Всё отлично работает.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Релиз Perl 5.10.0"  
Сообщение от Аноним on 26-Дек-07, 10:39 
про смарт-матчи зря забыли упомянуть
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]


  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor