Каковы самые интересные/полезные новые вещи в Perl 5.12?

Я не забываю быстро принимать given .. when, say, //, и умный оператор соответствия, когда Perl 5.10 пришел.

Что Вы считаете самые полезные меры и функции начатыми с Perl 5.12.0?

5
задан 3 revs, 3 users 100% 18 July 2015 в 22:05
поделиться

5 ответов

Это моя любимая функция на сегодняшний день:

use 5.012; # enables 'use strict' implicitly!
5
ответ дан 18 December 2019 в 06:49
поделиться

Мне нравится идея Yada Yada , хотя время покажет, действительно ли она полезна.

3
ответ дан 18 December 2019 в 06:49
поделиться

while (readdir $ dir) {} теперь работает как while (readline $ file) {} .

perl -MO=Deparse -e'while( readline $f ){}'
while (defined($_ = <$f>)) {
    ();
}

<$ f> то же самое, что readline $ f


Так версии Perl до v5.11.2 обрабатывали while (readdir $ dir) {}

perl-5.10 -MO=Deparse -e'while( readdir $d ){}'
while (readdir $d) {
    ();
}

Стоит отметить, что вышеуказанное не будет работать правильно, если есть файл или каталог с именем 0 . Что не имеет большого значения, так как в любом случае ничего полезного не делает.


В Perl версии 5.11.2 был добавлен патч, который привел его в большее соответствие с обработкой while (readline $ file) {...} .

perl-5.12.0 -MO=Deparse -e'while( readdir $d ){}'
while (defined($_ = readdir $d)) {
    ();
}

Я хотел бы отметить, что Я был тем, кто предоставил этот патч. Это было первое, что я когда-либо пытался исправить в ядре Perl. Так что это был первый написанный мной патч, который вошел в Perl.

6
ответ дан 18 December 2019 в 06:49
поделиться
6
ответ дан 18 December 2019 в 06:49
поделиться

Есть некоторые тонкие, но нетривиальные улучшения, которые сделают переносимые (флэш-накопители) дистрибутивы Perl лучше (или вообще).

Perl теперь также поддерживает 64-разрядную версию в Windows с GCC, поэтому 64-разрядная версия Strawberry Perl должна выйти в ближайшее время.

3
ответ дан 18 December 2019 в 06:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: