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 рассказывает о нововведениях и фитчах предыдущих версий, которые ты пропустил.

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

★★★★★

Проверено: Shaman007 ()
Последнее исправление: tailgunner (всего исправлений: 6)

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

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

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

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

по-другому:

В смысле hash-value slice, вместо hash key/value slice.

KennyMinigun ★★★★★
()

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

playX ★★
()

Ура! Нужно!

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

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

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

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

У mv так программы на лиспе собираются.

Hertz ★★★★★
()

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

ism ★★★
()

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

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 ★★★★★
()

Изменения-то хороши!

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

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

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

hobbit ★★★★★
()

Круто!!!

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

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

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

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

anonymous
()

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

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

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

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

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

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

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

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

Fixed

bbk123 ★★★★★
()

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

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

https://stackoverflow.blog/2017/10/31/disliked-programming-languages/

The most disliked languages, by a fairly large margin, are Perl, Delphi, and VBA. They’re followed by PHP, Objective-C, Coffeescript, and Ruby. On our team we’re certainly happy to see that R is the least disliked programming language, relative to the number of people who liked it.

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

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

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

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

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

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

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

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

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

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

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