LINUX.ORG.RU

Perl 5.22.0

 


0

4

Вышла новая значительная версия популярного языка программирования Perl. Основные изменения:

  • Модули CGI и Module::Build убраны из стандартной поставки.
  • Новые битовые операторы для работы со строками: &. |. ^. ~. &= |= ^= &.= |.= ^.=
  • Новый оператор <<>>, работающий как <>, но не обрабатывающий спецсимволы в именах файлов.
  • Новый модификатор регулярных выражений: /n, не позволяющий заполнение скаляров $1, $2 и т.д. для групп метасимволов:
    "hello" =~ /(hi|hello)/;   # $1 is "hello"
    "hello" =~ /(hi|hello)/n;  # $1 is undef
    
  • Новый оператор регулярных выражений: \b
  • Добавлена директива use re 'strict', включающая «строгий» режим для регулярных выражений.
  • Добавлена поддержка Unicode 7.0
  • Вызов prototype() без аргумента теперь использует $_
  • fileno теперь работает с дескрипторами директорий.
  • Новый атрибут :const для анонимных функций.
  • Теперь Perl по умолчанию собирается с -fstack-protector-strong и -D_FORTIFY_SOURCE=2
  • Конвертирование бесконечных чисел и NaN в символы (с помощью pack, «chr» и printf «%c») теперь невозможно.
  • Модуль Safe обновлён до версии 2.38 с исправлением критической уязвимости.
  • Пустой срез списка отныне будет возвращён только в том случае, если список был пустым.
  • Числа с плавающей точкой отныне могут содержать бесконечность (как отрицательную, так и положительную) и NaN.
  • Добавлена поддержка шестнадцатеричныхлитералов с плавающей точкой (например, 0x1.23p-4).
  • Действие прагмы use encoding теперь ограничено лексической областью.
  • Импортирование функций через use UNIVERSAL '...' теперь приводит к ошибке.
  • Многочисленные улучшения производительности, обновления входящих в стандартную поставку модулей и многое другое.

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



Проверено: fallout4all ()
Последнее исправление: cetjs2 (всего исправлений: 5)
Ответ на: комментарий от amix

Отличный, кстати, пример того, как лишняя «свобода» приводит к изящной, но совершенно нечитаемой каше. Если язык разрешает ++i и i++, то обязательно захочется ввинтить это где-нибудь. И всё прочее тоже. В итоге глаз не скользит по ясной структуре, а натыкается на непонятное; мозг вязнет, пытаясь восстановить мысль автора. Вместо самой очевидной конструкции if/else появляются `test ? (test and (expr, expr)) : expr` — в это надо вчитываться, а не пробегать глазами.

Искусство? Да. Производство? Нет.

Вот вы сейчас очень точно описали то о чем я говорю: ненавистники perl - это просто неучи и неосиляторы с раздутым ЧСВ.

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

почему не используете «index», чтобы переходить к след. «\n»?

substr назвали, я использовал unpack, index оставил вам

anonymous
()
Ответ на: комментарий от bananym
last if ($i = index $str, "\n", $i) < 0;

На будущее я рекомендую не сворачивать код если его собираетесь выкладываете на форум. Я заметил что лучше разворачивать.

Что мне написали бы люди которые запинаются даже на инкременты и тернаный оператор на вот такое представление:

$i = 0;

while(1)
{
  ( (($letter = unpack "x${i}a", $str) or last) eq "\n" ) ? do{ # или $letter = substr $str, $i, 
    pos($str) = ++$i;
    $str=~/\G(\w+)/o and (
	push(@result, [$i => $1]),
	$i += length $1,
    );
  } : $i++;
};


?

PS: Честно говоря я удивлен реакцией на инткременты и тернарный оператор. Они же через раз встречается даже в средне-паршивом ja-коде который через раз еле работает даже на своей web-странице.
anonymous
()
Ответ на: комментарий от anonymous

Вмешаюсь в дискуссию. ваш оппонент по делу написал, аргументы привел. а вы его сразу в неучи, неосиляторы и т.д. неправильно это. Привели бы тоже аргументы, дескать, творческая составляющая в работе программиста важнее чем профессиональная и ремесленная (хотя с этим сложно согласиться).

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

Вмешаюсь в дискуссию. ваш оппонент по делу написал, аргументы привел. а вы его сразу в неучи, неосиляторы и т.д. неправильно это.

Так он и есть неуч и неосилятор, не о чем там разговаривать.

Привели бы тоже аргументы, дескать, творческая составляющая в работе программиста важнее чем профессиональная и ремесленная (хотя с этим сложно согласиться).

Гуманитарный бред. Прочтите «PS» над вашим сообщением. Писать аргументированный отчет человеку у которого личная проблема неосиляторства из-за чего он запинается на простейшем инкременте и тернарном операторе которые встречаются почти во всех ЯП? И при этом он еще и позиционирует свою необразованность само-собой разумеющимся обстоятельством и выдвигает претензии к тому кто осилил и сходу сканирует такие конструкции? Извините, но я не собираюсь считаться со всякими быдлокодерами, можете подать на меня в суд.

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

так что, ребята, будет нормальный бравзер на «супермощном яп без слабых мест» или нет?

Профинансируй разработку и будет. Либо сиди и жди, вдруг появится.

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

будет нормальный бравзер на «супермощном яп без слабых мест» или нет?

Будет, когда rust допилят и перепишут на нем Firefox.

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

Не должна индустрия ориентироваться на идиотов. Не лезь к людям со своей толерантностью. Да, дураков не надо обижать, но они не должны писать программы и водить машины.

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

Benchmark-нул все варианты на 65к строке

my @az = ('a'..'z', (' ')x5, "\n");
my $str = join '', map $az[@az*rand], 1..1<<16;
      Rate  an1  an2  ban
an1 18.3/s   -- -41% -59%
an2 30.9/s  69%   -- -30%
ban 44.2/s 142%  43%   --

an1, an2 - это варианты с unpack и substr соответственно ban - вариант с index

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

Будет, когда rust допилят и перепишут на нем Firefox.

вот это уже больше на правду похоже

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

Профинансируй разработку и будет. Либо сиди и жди, вдруг появится.

так тут любую задачу предлагали и говорили, что на перле результат будет круче. задачу дал, хотелось бы услышать, есть гарантии, что на перле будет круче?

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

update (добавил у себя модификатор «o» в regexp):

      Rate  an1  an2  ban
an1 23.5/s   -- -57% -91%
an2 55.0/s 134%   -- -79%
ban  256/s 988% 365%   --

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

проблема неосиляторства из-за чего он запинается на простейшем инкременте и тернарном операторе которые встречаются почти во всех ЯП?

в C есть goto, и если я, например, буду всем говорить что если вы мой код с goto считаете неудобным для чтения, то вы неосиляторы - это будет выглядеть нормально?

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

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

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

Ну так проваливай на пистон, чего ты здесь сидишь? Редкий программист на Perl не знает Си и это замечательно.

anonymous
()

Такое ощущение, что перл создан мальчиком Бобби, который очень любил деньги - американские.

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

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

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

Ну так проваливай на пистон, чего ты здесь сидишь? Редкий программист на Perl не знает Си и это замечательно.

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

кстати, у питона кроме идеологии (дзена) и попыток заставить одержимых творчеством кодеров хоть как-то вписываться в этот дзен (хороший замысел, но не удалось), нет больше ничего особо полезного. еще и недостатков куча. кстати, что печально, многие пришедшие в питон (ибо мейнстрим) из пхп, явы и др. даже не представляют что есть дзен и можно писать код, следуя по этому дзену, а не тащить глупости и творчество оттуда откуда пришли. низкий порог вхождения - не всегда хорошо. однако если «псевдовысокий порог вхождения» сделан без объяснения причин, а не потому, что в языке есть что-то математически полезное, но сложное для понимания, это еще хуже. например, освоить тот же C и писать на нем, не понимая как работает АЛУ в момент инкремента и в момент суммирования (а как полноценно понять, если при этом электронику и схемотехнику не знать?), под силу даже трудолюбивому гуманитарию

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

Не обязательно знать как лепить из дерьма и палок триггер, чтоб осилить ассемблер. Можно не знать закон Ома и писать программы, но это не делает тебе чести.
Я не люблю питон и ненавижу пых, тем не менее, не лезу к ребзе шатающей другие языки, сижу себе с другими шейхами ИТТ и шлёпаю по попке любимого верблюда.

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

Не обязательно знать как лепить из дерьма и палок триггер, чтоб осилить ассемблер. Можно не знать закон Ома и писать программы, но это не делает тебе чести.
Я не люблю питон и ненавижу пых, тем не менее, не лезу к ребзе шатающей другие языки, сижу себе с другими шейхами ИТТ и шлёпаю по попке любимого верблюда.

конечно вы правы, но такой код на ассемблере (а в общем, и на любом языке) будет крайне низкого качества, в результате получится еще один чернобыль, или спутник потеряет управление в космосе. плюс к тому, он будет write-only, так как квалифицированный коллега будет, например, читать и думать, - «наверное тут инкремент неспроста», а потом прочитав десять раз всю программу, поймет, что неквалифицированный коллега-автор просто не понимает разницы.

любовь - это замечательное чувство, но она затуманивает рассудок и приводит к неспособности мыслить, не ограничиваясь рамками объекта любви. это, как правило, ведет к деградации. поэтому в яп лучше не влюбляться

я бы тоже не лез, только чернобыля что-то не хочется, вот и занудствую, когда время есть

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

Мы говорим — Linux, подразумеваем — дистрибутив, мы говорим — программист, подразумеваем — инженер-программист. Именно так я считаю. Нельзя держать равнение на идиотов. Есть основы, их должен знать каждый, их в ВУЗе преподают. То что тракторист Паша решил писать сайты на пыхе - его проблемы. Почему вы всё время боитесь обидеть негров?
Давайте пароли в открытом виде держать, а сортировать исключительно пузырьком, чтоб всем всё было ясно.

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

в IT сейчас происходит примерно то же самое что и в других отраслях - куда ни глянь - везде дилетантство, халтура, и непрофессионализм. на ютубе двухчасовой самоучитель посмотрел и все, ты профи хоть в теории баз данных, хоть в сочинении музыки или дизайне. А тракторист Паша может оказаться ушлым бизнесменом и получить контракт на разработку ПО для АЭС, так как по мнению министра энергетики, который купил в Пашином интернет-магазине телевизор, - «сайт у него работает, а значит хорошо сделан! пусть и нам программу напишет, ведь он много не попросит за свою работу, откат организуем!»

можно и пузырьком так отсортировать, что мало не покажется, сложно будет догадаться что это пузырьковая сортировка, да и компутер зависнет. пример - ввести абстракции «сортировщик», «пузырек», у «сортировщика» будет метод чтобы поднимать «пузырек» и метод, чтобы записывать в журнал свои действия (творческий подход). либо другой вариант - назвать переменные a, b, c, d, ... и в одну строку все записать (тоже творчество, можно даже похвастаться, мол, я еще короче сделал чем мой кореш Вася). а вообще, лучший вариант - знать какие бывают алгоритмы сортировки, выбрать оптимальный (не от балды, а руководствуясь критериями), и использовать. особенно здорово если он уже грамотно реализован в стандартной (или нестандартной) хорошо протестированной библиотеке (а еще можно исходники этой либы просмотреть, если проект ответственный, и ошибки чреваты). меньше творчества, меньше проблем.

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

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

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

что-то я в порыве паранойи нафантазировал, аж самому страшно стало. нет, не может такого быть.

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

в C есть goto, и если я, например, буду всем говорить что если вы мой код с goto считаете неудобным для чтения, то вы неосиляторы - это будет выглядеть нормально?

И снова очередной школьник лезет в разговор. Вы не видели наверное ни разу, но в си goto не только есть - он еще и используется активно, и не только мной. Goto часто полезная и нужная вещь, но как и с perl тут точно надо понимать когда и как его использовать. Вы сильно далеки от всего этого, поэтому ведете эти школьные беседы со своего «дивана». Хватит отнимать мое время.

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

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

Бред какой-то, или глупая попытка установить бюрократию неосиляторами. Вы похоже не знаете, но операторы инкремента/декремента кроме низкоуровневевого программирования еще используются для выполнения атомарных операции. Если экстраполировать вашу логику, то надо С++ запретить, т.к. там можно вообще перегружать операции. И в математике запретить использование операторов. Надо вообще все символы и знаки в мире запретить, а то из надо узнавать/изучать, а это некошерно.

Есть простое правило которое раскрывает всю суть отношения к неучам: не осилил - пошел вон. Я как и многие нормальные программисты столь элементарные вещи давно осилил и разобрался с ними, так что я имею полное право наплевать на вас и ваши предпочтения. Так что, пожалуйтса, поспособствуйте мне не знать ни вас, ни вашу ущербную позицию неосиляторов.

anonymous
()

Мне перл бейсик напоминает, не вижуал, а старый, ламповый.

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

Benchmark-нул все варианты на 65к строке

my @az = ('a'..'z', (' ')x5, "\n");
my $str = join '', map $az[@az*rand], 1..1<<16;
      Rate  an1  an2  ban
an1 18.3/s   -- -41% -59%
an2 30.9/s  69%   -- -30%
ban 44.2/s 142%  43%   --

an1, an2 - это варианты с unpack и substr соответственно ban - вариант с index

Это интересно, но результаты вполне закономерные. Я думал что разница будет поболее, но нет, похоже хорошо подтянули реализацию за последние несколько релизов. Уточните пожалуйста какой perl и на какой платформе используете (и особенности сборки если такоевые имеются).

И если не составит труда, давайте потестируем еще и этот вариант:

$i = 0;

while(1)
{
  $letter = vec $str, $i, 8;
  $letter or last;
  $letter == 0x0A ? do{
    pos($str) = ++$i;
    $str=~/\G(\w+)/o and (
	push(@result, [$i => $1]),
	$i += length $1,
    );
  } : (
    $i++
  );
};

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

да-да, из goto можно циклы делать (творчество), а еще можно вставлять его в код, когда проблемы начинаются из-за неправильного проектирования, а рефакторить лень. используете - ну и ладно, мешайте процедурную и структурную парадигмы программирования в адскую смесь, вы же взрослый, вам уже можно. а я, как школьник, лучше буду одного стиля придерживаться, либо структурное, если язык позволяет, либо процедурное, если не позволяет. https://ru.wikipedia.org/wiki/Goto

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

вообще странная у вас логика. если критикует - значит не осилил, значит школьник. но если бы я не осилил, то спорить бы даже не стал, как можно спорить, если не знаешь о чем? кстати, ваша позиция «я с таким трудом это осилил и поэтому не буду это критиковать и другим не позволю, лучше обзову их неосиляторами», тоже выглядит бредом, уж извините. понятно, человек думал что у него творческая профессия, что он «творит» уникальные авторские произведения, а тут ему говорят что он ремесленник, разумеется, он обижается.

в C++ можно определить оператор "-" для объектов класса как суммирование (или, например, сложение, склеивание) этих объектов. по вашей логике критиковать гения, который так сделал - нельзя.

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

да-да, из goto можно циклы делать (творчество), а еще можно вставлять его в код, когда проблемы начинаются из-за неправильного проектирования, а рефакторить лень. используете - ну и ладно, мешайте процедурную и структурную парадигмы программирования в адскую смесь, вы же взрослый, вам уже можно. а я, как школьник, лучше буду одного стиля придерживаться, либо структурное, если язык позволяет, либо процедурное, если не позволяет. https://ru.wikipedia.org/wiki/Goto

Ха-ха. Рассказ девственника о том как нужно знакомиться и встречаться с девушками :-).

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

вообще странная у вас логика. если критикует - значит не осилил, значит школьник. но если бы я не осилил, то спорить бы даже не стал, как можно спорить, если не знаешь о чем? кстати, ваша позиция «я с таким трудом это осилил и поэтому не буду это критиковать и другим не позволю, лучше обзову их неосиляторами», тоже выглядит бредом, уж извините. понятно, человек думал что у него творческая профессия, что он «творит» уникальные авторские произведения, а тут ему говорят что он ремесленник, разумеется, он обижается.

Ботаник усиленно навязывает свой гуманитарный бред про творчество и ремесленничество. Вы уверенно заявляете о том что я думал, хотя я никак не позиционировал себя в этом вопросе. Это была большая глупость с вашей стороны (но уже не первая).

в C++ можно определить оператор "-" для объектов класса как суммирование (или, например, сложение, склеивание) этих объектов. по вашей логике критиковать гения, который так сделал - нельзя.

Да у вас с головой проблемы..

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

Ха-ха. Рассказ девственника о том как нужно знакомиться и встречаться с девушками :-).

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

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

ваш новый вариант «an3» и я еще добавил просто на регулярном выражении «reg»:

my @result;
while ($str =~ /\n(\w+)/gs) {
    push @result, [pos($str) - length($1), $1] }

в итоге:

      Rate   an1   an2   an3   ban   reg
an1 22.0/s    --  -59%  -68%  -93%  -96%
an2 54.1/s  146%    --  -21%  -84%  -89%
an3 68.5/s  211%   26%    --  -79%  -86%
ban  330/s 1398%  509%  382%    --  -33%
reg  490/s 2126%  805%  616%   49%    --

perl, дефолтная сборка (через perlbrew)

v5.22.0 built for x86_64-linux

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

для школьника так вообще обидно, пойду мамке жаловаться

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

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

насчет моих «надуманных» позиций. вы тоже много чего надумали про меня в своих постах, так что я просто немного гиперболизировал ваши слова. теперь мы квиты. а если я еще при этом угадал, и наступил на больную мозоль, то вы будете еще больше меня поливать оскорблениями

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

А вот сейчас ты перегнул палку, братан, это уже ниже пояса был удар.

Не, братан, это не так. Этот ботаник просто надоел отнимать мое время. Как бы его ущемленное ЧСВ меня не касается, а он пристал как банный лист.

Я просто сейчас не хочу тратить время на поиск по сорцам крупных проектов доказывая как, где можно и даже желательно использовать goto. Если хочешь понять ситуацию с goto - сам разберешься, а не разберешься - так тому и быть. Я бы мог поступить еще проще - привести внятную литературу где уже разжевано что к чему, но я не буду это делать т.к. глупо будет с моей стороны рекомендовать литературу такого уровня контингенту который не парсит инкременты и тернарный оператор (это вообще нонсенс, конечно).

Просто пойми что я не собираюсь доказывать каждому вновь вылупившемуся цыпленку что мир сложнее и шире чем их гнездо. То есть в принципе вы все можете думать что хотите, я не заставляю вас думать так или иначе. Меня уже реально сильно раздражает тратить свое личное время на всяких ботанов которые, судя по сообщениям, даже порох не нюхали.

Без обид.

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

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

насчет моих «надуманных» позиций. вы тоже много чего надумали про меня в своих постах, так что я просто немного гиперболизировал ваши слова. теперь мы квиты. а если я еще при этом угадал, и наступил на больную мозоль, то вы будете еще больше меня поливать оскорблениями

Вот недавно был тут один который доказывал что modperl не нужен под apache потом же он сам привел ответ на мой вопрос пример с использованеим modperl. Он просто сбежал с темы, а я время потратил. Знаете в чем разница? - Он получил информацию к размышлению, а я потратил время. То есть по факту я остался в дураках.

Второй раз я эту ошибку не сделаю, поэтому думайте и дальше как думаете. Но с девственниками и неучами у меня разговор короткий (выше уже говорил).

Больше я вам не отвечу - это пустая трата времени.

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

Тебе ответили, что не обязательно пихать интерпретатор в веб-сервер, тем более что он отстаёт от стабильных релизов. Сказали, что можно прикрутить к веб серверу веб-приложение через PSGI, сказили, что есть множество способов сделать это, например через mod_fastcgi, ты же не слушаешь. Всё будет быстро и просто. Время ты потратил, иди в сраку, занятой ты наш.

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

Тебе ответили, что не обязательно пихать интерпретатор в веб-сервер, тем более что он отстаёт от стабильных релизов. Сказали, что можно прикрутить к веб серверу веб-приложение через PSGI, сказили, что есть множество способов сделать это, например через mod_fastcgi, ты же не слушаешь. Всё будет быстро и просто.

Я спросил как собираешься запускать perl-код под apache на что ты сам привел пример с запуском PSGI-приложения под apache с использованием modperl. Про деплой application-сервера я и сам прекрасно знаю, но ни мой вопрос, ни твой ответ не были об этом. Это позже когда тебе подкинули вариант с mod_procy после твоей фейла ты к этому варианту присосался, лох.

Время ты потратил, иди в сраку, занятой ты наш.

отсоси, лох

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

ваш новый вариант «an3» и я еще добавил просто на регулярном выражении «reg»:

my @result;
while ($str =~ /\n(\w+)/gs) {
    push @result, [pos($str) - length($1), $1] }

в итоге:

      Rate   an1   an2   an3   ban   reg
an1 22.0/s    --  -59%  -68%  -93%  -96%
an2 54.1/s  146%    --  -21%  -84%  -89%
an3 68.5/s  211%   26%    --  -79%  -86%
ban  330/s 1398%  509%  382%    --  -33%
reg  490/s 2126%  805%  616%   49%    --

Что-то тут «не так». С reg - да, он должен быть ощутимо быстрее, а вот между ban и an* в этот раз по сравнению с прошлыми результатами получилась очень большая разница. Перепроверь пожалуйста (я не хотел бы вникать в детали тестирования, есть чем заниматься).

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

Я про mod_proxy вообще ничего не писал и уже не знаю который раз спрашиваю, нахрена запускать perl скрипт под apache? Какой от этого профит? Твой mod_perl стар как дерьмо мамонта, чего ты к нему прилип? Чтоб я тебя на костылях увидел, а ты меня одним глазом

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

Я про mod_proxy вообще ничего не писал и уже не знаю который раз спрашиваю, нахрена запускать perl скрипт под apache?

вопрос был про запуск perl-кода именно под apache и ответ был соответствующий но с использованем modperl

Какой от этого профит?

рабочий apache и perl-код работающий на уровне обработчиков (handler) apache

Твой mod_perl стар как дерьмо мамонта, чего ты к нему прилип?

modperl делает очень простую вещь - втягивает perl-интерпретатор (libperl*.so) в apache что позволяет писать обработчики на языке perl на события apache. Вопрос стар/не стар немного странный, ибо сам modperl лишь является «клеем» между api apache и libperl. Последний релиз 2.0.8 от 17 апреля 2013 года и кажется совместимость заявлена с Perl 5.16.x .

Чтоб я тебя на костылях увидел, а ты меня одним глазом

Ой зря ты это. Я тебе ничего плохого не желал, ты сам все это попросил.

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