Size: a a a

2021 January 30

ВР

Василий Степанович Р... in Modern::Perl
Denis F
А как быстрее всего посчитать количество строк в файле? Файл загружен в память, размер до нескольких мб
my $kol = 0;
$file =~ s/\n/ $kol++ /ge;
say "Опа опа опа па! $kol";
источник

ВР

Василий Степанович Р... in Modern::Perl
Denis F
а что у тебя за проц? :) У меня на мобильном и5 цифры в 3 раза ниже почти
В каком смысле на мобильном?
Ты на мобиле как-то запускаешь перлоскрипты?
источник

ВР

Василий Степанович Р... in Modern::Perl
Andrey Konovalov
Я иногда пробегаю глазами по use'ам - и часто выкидываю что-нибудь, давно уже не нужное
Как узнаёшь - что там в use нужное, а то совмем ненужное уж? Не уж то помнишь что в программе из какого модуля заюзал? 😳
источник

ВР

Василий Степанович Р... in Modern::Perl
Anton Petrusevich
> а в Go просто по рукам бьют за import лишнего

что меня сразу же взбесило, как только я его попробовал. я в качестве отладки убрал вызов функции из импортированного модуля — привет еррор.  это вообще не дружественно к программисту.
Это странно, конечно, что за отключение функции из подключенного модуля назначают ошибку. Может быть мне надо функцию отключить только временно. Это значит придётся на это же время мне прыгать в тексте программы в то место, где подключается модуль для этой функции? Вот была халва так страдать... 🤔
источник

VG

Vadim Goncharov in Modern::Perl
Василий Степанович Родин
> (* 2 (+ 1 2) (- 4 (/ 2 1)))

Да надо было им и к скобкам применить это странное правило выноса знака операции изнутри операндов в их начало.

Т.е. если придумали
вместо 1 + 2
писать + 1 2,

то тогда уж надо было идти до конца и
вместо (1 + 2)
писать () + 1 2
а группировать-то как тогда, лол? в используемом виде - это вполне наглядное задание дерева операций
источник

SZ

Sergey Zhmylove in Modern::Perl
Василий Степанович Родин
> (* 2 (+ 1 2) (- 4 (/ 2 1)))

Да надо было им и к скобкам применить это странное правило выноса знака операции изнутри операндов в их начало.

Т.е. если придумали
вместо 1 + 2
писать + 1 2,

то тогда уж надо было идти до конца и
вместо (1 + 2)
писать () + 1 2
Нельзя
источник

АП

Александр Поволоцкий... in Modern::Perl
Василий Степанович Родин
Это странно, конечно, что за отключение функции из подключенного модуля назначают ошибку. Может быть мне надо функцию отключить только временно. Это значит придётся на это же время мне прыгать в тексте программы в то место, где подключается модуль для этой функции? Вот была халва так страдать... 🤔
По уму, это должно включаться только на релизной сборке
источник

W

Warstone in Modern::Perl
Просто Го не умеет в ковыряние стеша и считает себя самым умным.
источник

DF

Denis F in Modern::Perl
Василий Степанович Родин
В каком смысле на мобильном?
Ты на мобиле как-то запускаешь перлоскрипты?
Мобильный это в ноутбуке
источник

AP

Anton Petrusevich in Modern::Perl
Denis F
Мобильный это в ноутбуке
кстати, пробовал мой последний бенчмарк у себя?
источник

AP

Anton Petrusevich in Modern::Perl
источник

AP

Anton Petrusevich in Modern::Perl
нармальна... нашёл способ как указать флаги оптимизации гцц. указание -march=zenver2 даёт скачок скорости в три раза
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
а напомните (а то я пропустил) если надо перехватить всякие die то норм писать так:
eval { .... };
if($@) { ..... };
источник

R

Roman in Modern::Perl
Нет, ненорм. $@ может быть установлен ранее. eval возвращает последнее вычисленное значение, в случае исключения возвращает undef — пользуйтесь этим.
eval { ...; 1 } or do { ... };
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
этот do насколько я помню -- не цикловый и в нем можно спокойно писать next, правильно?
источник

AP

Anton Petrusevich in Modern::Perl
не цикловый
источник

IB

Ivan Bessarabov in Modern::Perl
Roman
Нет, ненорм. $@ может быть установлен ранее. eval возвращает последнее вычисленное значение, в случае исключения возвращает undef — пользуйтесь этим.
eval { ...; 1 } or do { ... };
> Нет, ненорм. $@ может быть установлен ранее.

Можешь показать пример ситуации как это может произойти? Если внутри eval нет ошибки то $@ установится в пустую строку.

https://perlbanjo.com/64dafdb97e
источник

R

Roman in Modern::Perl
Перехват исключения до твоего eval или вложенные eval.
источник

R

Roman in Modern::Perl
Не установится. Значение присваивается только при исключении.
источник

IB

Ivan Bessarabov in Modern::Perl
Roman
Не установится. Значение присваивается только при исключении.
Ммм. Разе мой пример не показывает обратное? Иключения не было, но в пустую строку сбросился? https://perlbanjo.com/64dafdb97e
источник