LINUX.ORG.RU

Perl 5.28

 ,


1

2

Пока ты попивал смузи и катался на гироскутере, серьёзные пацаны подготовили к выпуску Perl 5.28

Что нового?

  • Поддержка Unicode 10.0 (появился символ биткоина).
  • delete можно использовать на срезах:
    my %sanitised_values = delete %input_values{@allowed_keys};
  • Проверка системы письменности на однородность (script runs):
    'Pеrl' =~ /^(*sr:\w+$)/
    Вернёт «ложь», т.к. буква «е» кириллическая. (подробнее о script runs)

Экспериментальные возможности:

Поддержка буквенных синонимов для некоторых утверждений (assertion) регулярных выражений (Осторожно! Может повысить читабельность!):

(?=...)        (*pla:...) or (*positive_lookahead:...)
(?!...)        (*nla:...) or (*negative_lookahead:...)
(?<=...)       (*plb:...) or (*positive_lookbehind:...)
(?<!...)       (*nlb:...) or (*negative_lookbehind:...)
(?>...)        (*atomic:...)

Улучшения производительности:

  • Серьёзно снижены накладные расходы связанные с использованием параметров юникод (\p{...}) в регулярных выражениях.
  • Существенно ускорена множественная конкатенация. Например, следующий код на x86_64 работает в 4 раза быстрее:

    my $s;
    my $a = "ab\x{100}cde";
    my $b = "fghij";
    my $c = "\x{101}klmn";
     
    for my $i (1..10_000_000) {
        $s = "\x{100}wxyz";
        $s .= "foo=$a bar=$b baz=$c";
    }
    

  • sprintf() с фиксированным набором аргументов и строкой формата содержащей только %s и %% работает быстрее.
  • ref() работает намного быстрей в булевом контексте, т.к. больше не создаётся временная строка вроде Foo=ARRAY(0x134af48).
  • Циклы for() и аналогичные конструкции в большинстве ситуаций будут работать быстрей
  • Появилась возможность хранить процедуры в пакетах без использования таблиц имён, что позволяет сэкономить крупные объёмы памяти.

Другие изменения:

  • Ядро почистили от «use vars». Многие продолжают использовать «use vars», что является плохой практикой с момента введения «our» в версии 5.6.0.
  • Новое предупреждение для случаев:

    my $name='Pistachio';
    print "In $name's house";
    

    Рекомендую посмотреть на видео. Возможно улыбнётесь.

Видео: Sawyer X рассказывает о нововведениях и фитчах предыдущих версий, которые ты пропустил.

>>> Подробности

Оно ещё не умерло?

anonymous ()

Если кот пройдётся по клавиатуре, получившаяся программа на Perl скомпилируется без ошибок?

jazzman ()

Нужно! Спасибо за новость.

Odalist ★★★★★ ()
Ответ на: комментарий от jazzman

Так и есть. А ты чем хуже кота? Почему ещё не пишешь на Perl?

perl5_guy ★★★ ()

delete можно использовать на срезах:

my %sanitised_values = delete %input_values{@allowed_keys};

Раньше оно тоже работало, но по-другому: https://ideone.com/dKPmnL

KennyMinigun ★★★★★ ()

Если лбом постучать по клавиатуре выйдет второй линукс на перле?

playX ★★ ()

Ура! Нужно!

anonymous ()
Ответ на: комментарий от perl5_guy

Рад что не зря пыхтел

По крайней мере свежую перепись петросянов проведём.

ashot ★★★ ()

В видео столько старых бородатых мужиков, наверное в Хогвардсе сейчас каникулы

ism ★★★ ()
Ответ на: комментарий от ism

Я старым и бородатым больше доверяю, чем молодым и бородатым.

anonymous ()

Что-то прямо парад новостей про мертвые языки. Сначала питон, а тут еще и перл релизнулся!
Некроманты будут довольны.

ritsufag ★★★★★ ()
Ответ на: комментарий от ritsufag

А может для каждой задачи свой язык? Почему в системе бинарники наблюдаю.

anonymous ()
Ответ на: комментарий от ritsufag

Парсер текста на js

Скрипты линукс на js

Десктопные проги на js

Пожалуйста, пусть те кто это делают не проводят парадов !

ism ★★★ ()
Ответ на: комментарий от anonymous

Иногда средневековый обычай сжигать еретиков на костре не кажется таким уж плохим

ism ★★★ ()

Как всегда в треде парад ужаленных перлом рукожопов. Добрая традиция.

anonymous ()

Спасибо!

Нужнее всех нужнЫх.

mos ★★☆☆☆ ()

язабан за фамильярность.

anonymous ()

хоть и давно не пишу на perl, но нужно. язык лично для меня приятный.

anonymous ()

Вот вы смеетесь на Перл 5.x нужен https://news.ycombinator.com/item?id=16213275 Куча топ компаний юзают его. Впрочем как и ФБ юзает пых.
А вот Перл 6 оказался никому не нужен :/ Долго надеялся что будет как питон 2.7 и 3.х но нет.

bga_ ★★ ()

Посмотрите вот это интервью, в части где Ларри рассказывает про Perl6. Очень интересно. Сама идея языка находится в становлении, поэтому нельзя сказать что он опоздал. Уникальный проект с необычным подходом к разработке.

Сам всегда относился к Perl6 с большим скепсисом и даже некоторым негативом, но оказалось что просто не понимал что это такое и с чем его едят.

perl5_guy ★★★ ()

Ждём новостей про Кобол, Алгол, Си и прочие очень нужные и востребованные языки.

meliafaro ★★★★★ ()
Ответ на: комментарий от ism

Пожалуйста, пусть те кто это делают не проводят парадов !

Да я чувствую, скоро парады придётся проводить тем, кто делает это НЕ на JS...

hobbit ★★★★★ ()
Ответ на: комментарий от Odalist

Нужно! Спасибо за новость.

О, чёрт! Odalist прославившийся как «Господин Нинужно» сказал слово: «Нужно!».

За это надо выпить пару рюмок.

anonymous ()

Читал где-то, что Perl является самым ненавидимым языком программирования. В новом религе завезли ещё больше ненависти?

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Необходимо уточнять что опрос проводился среди представителей ЛГБТ и школьников

anonymous ()
Ответ на: комментарий от hobbit

Да я чувствую, скоро парады придётся проводить тем, кто делает это НЕ на JS...

битва парадов всё решит. FIGHT!

anonymous ()
Ответ на: комментарий от anonymous

Но ведь он написал это под ненужно

Deleted ()
Ответ на: комментарий от anonymous

Необходимо уточнять, что Perl был популярен среди представителей ЛГБТ и школьников

Fixed

bbk123 ★★★★★ ()

В то время как гопота кормится с фастфудов, у нас же сегодня — изысканное блюдо на столе.

Bruce_Lee ★★ ()
Ответ на: комментарий от Bruce_Lee

у нас же сегодня — изысканное блюдо на столе.

Новый труп верблюда, запечёный с яблоками?

bbk123 ★★★★★ ()
Ответ на: комментарий от bbk123

Это тот самый опрос клоунов, обожающих раст? Удивительно как у них получается ненавидеьь мертвый перл и любить нерожденный раст (который как раз наследник перла по вырвиглазию).

bread ()
Ответ на: комментарий от bbk123

Получается так, ведь чтобы ненавидеть мертвый язык нужно быть альтернативно одаренным. Или он не такой уж и мертвый.

bread ()
Ответ на: комментарий от bread

Согласен с тобой, хлебушек. По мёртвому можно плакать, злорадство тоже вполне понятно, но вменять в вину факт смерти как-то странно. Надеюсь это троллинг, а не механическое повреждение мозга крупнокалиберным боеприпасом.

Было бы неплохо увидеть конкретные проблемы Perl'а ИТТ, с примерами чтоб. Может быть я действительно поставил не на ту лошадь и нужно срочно мигрировать на $lang_name

perl5_guy ★★★ ()

Перл - это где сам кодер потом не может в своей проге ничего понять ?

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