From an.gorohovski на gmail.com Sun Feb 10 01:40:59 2019 From: an.gorohovski на gmail.com (Alessandro Gorohovski) Date: Sun, 10 Feb 2019 12:40:59 +0300 Subject: [Moscow.pm] What is the difference of using array variables Message-ID: Приветствую Уважаемое Perl-сообщество, Подскажите по существу кто знает, есть ли *принципиальная* разница между обращениями, например, к 5-му значению некоторого массива @m, допустим состоящего из >5 элементов в таких случаях: $m[5] @m[5] ? Спасибо, Александр ----------- следующая часть ----------- Вложение в формате HTML было извлечено… URL: From dionys на gmail.com Sun Feb 10 02:23:31 2019 From: dionys на gmail.com (Denis Ibaev) Date: Sun, 10 Feb 2019 13:23:31 +0300 Subject: [Moscow.pm] What is the difference of using array variables In-Reply-To: References: Message-ID: Привет. В первом случае мы непосредственно обращаемся к элементу. Во втором — сначала получаем срез из одного элемента, а это список. Далее всё зависит от того, что мы с этим списком делаем. (Навскидку не приходят в голову отличия от первого случая для списка из одного элемента.) вс, 10 февр. 2019 г. в 12:41, Alessandro Gorohovski via Moscow-pm : > > Подскажите по существу кто знает, есть ли принципиальная разница > между обращениями, например, к 5-му значению некоторого массива @m, > допустим состоящего из >5 элементов в таких случаях: > > $m[5] > @m[5] > ? -- Денис Ибаев From andrei.protasovitski на gmail.com Sun Feb 10 02:29:50 2019 From: andrei.protasovitski на gmail.com (Andrei) Date: Sun, 10 Feb 2019 11:29:50 +0100 Subject: [Moscow.pm] What is the difference of using array variables In-Reply-To: References: Message-ID: Первый возвращает скаляр, второй - список. https://perldoc.perl.org/perlfaq4.html#What-is-the-difference-between-%24array%5b1%5d-and-%40array%5b1%5d%3f On Sun, Feb 10, 2019, 10:41 Alessandro Gorohovski via Moscow-pm < moscow-pm на pm.org wrote: > Приветствую Уважаемое Perl-сообщество, > > Подскажите по существу кто знает, есть ли *принципиальная* разница > между обращениями, например, к 5-му значению некоторого массива @m, > допустим состоящего из >5 элементов в таких случаях: > > $m[5] > @m[5] > ? > > Спасибо, > Александр > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следующая часть ----------- Вложение в формате HTML было извлечено… URL: From andrei.protasovitski на gmail.com Sun Feb 10 02:30:49 2019 From: andrei.protasovitski на gmail.com (Andrei) Date: Sun, 10 Feb 2019 11:30:49 +0100 Subject: [Moscow.pm] What is the difference of using array variables In-Reply-To: References: Message-ID: В скалярном контексте первый возвращает значение элемента, а второй 0 или 1. On Sun, Feb 10, 2019, 11:24 Denis Ibaev via Moscow-pm Привет. > > В первом случае мы непосредственно обращаемся к элементу. Во втором — > сначала получаем срез из одного элемента, а это список. Далее всё > зависит от того, что мы с этим списком делаем. (Навскидку не приходят > в голову отличия от первого случая для списка из одного элемента.) > > вс, 10 февр. 2019 г. в 12:41, Alessandro Gorohovski via Moscow-pm > : > > > > Подскажите по существу кто знает, есть ли принципиальная разница > > между обращениями, например, к 5-му значению некоторого массива @m, > > допустим состоящего из >5 элементов в таких случаях: > > > > $m[5] > > @m[5] > > ? > > -- > Денис Ибаев > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следующая часть ----------- Вложение в формате HTML было извлечено… URL: From an.gorohovski на gmail.com Sun Feb 10 03:06:17 2019 From: an.gorohovski на gmail.com (Alessandro Gorohovski) Date: Sun, 10 Feb 2019 14:06:17 +0300 Subject: [Moscow.pm] What is the difference of using array variables In-Reply-To: References: Message-ID: Hi Denis, вс, 10 февр. 2019 г. в 13:24, Denis Ibaev via Moscow-pm : > Привет. > > В первом случае мы непосредственно обращаемся к элементу. Во втором — > сначала получаем срез из одного элемента, а это список. Далее всё > зависит от того, что мы с этим списком делаем. (Навскидку не приходят > в голову отличия от первого случая для списка из одного элемента.) > Да, согласен, на вскидку, пока тоже не могу найти/вспомнить ситуацию, где это было бы критично и вызывало ошибки. Спасибо. > вс, 10 февр. 2019 г. в 12:41, Alessandro Gorohovski via Moscow-pm > : > > > > Подскажите по существу кто знает, есть ли принципиальная разница > > между обращениями, например, к 5-му значению некоторого массива @m, > > допустим состоящего из >5 элементов в таких случаях: > > > > $m[5] > > @m[5] > > ? > > -- > Денис Ибаев > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > ----------- следующая часть ----------- Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Wed Feb 13 03:04:39 2019 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Wed, 13 Feb 2019 14:04:39 +0300 Subject: [Moscow.pm] What is the difference of using array variables In-Reply-To: References: Message-ID: Просто это плохой стиль кодирования и вызывает предупреждение интерпретатора. А так да, разницы нет :-) вс, 10 февр. 2019 г. в 14:06, Alessandro Gorohovski via Moscow-pm : > > Hi Denis, > > вс, 10 февр. 2019 г. в 13:24, Denis Ibaev via Moscow-pm : >> >> Привет. >> >> В первом случае мы непосредственно обращаемся к элементу. Во втором — >> сначала получаем срез из одного элемента, а это список. Далее всё >> зависит от того, что мы с этим списком делаем. (Навскидку не приходят >> в голову отличия от первого случая для списка из одного элемента.) > > > Да, согласен, на вскидку, пока тоже не могу найти/вспомнить ситуацию, > где это было бы критично и вызывало ошибки. > > Спасибо. > > >> >> вс, 10 февр. 2019 г. в 12:41, Alessandro Gorohovski via Moscow-pm >> : >> > >> > Подскажите по существу кто знает, есть ли принципиальная разница >> > между обращениями, например, к 5-му значению некоторого массива @m, >> > допустим состоящего из >5 элементов в таких случаях: >> > >> > $m[5] >> > @m[5] >> > ? >> >> -- >> Денис Ибаев >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Best regards, Ilya Chesnokov From an.gorohovski на gmail.com Wed Feb 13 05:09:25 2019 From: an.gorohovski на gmail.com (Alessandro Gorohovski) Date: Wed, 13 Feb 2019 16:09:25 +0300 Subject: [Moscow.pm] What is the difference of using array variables In-Reply-To: References: Message-ID: Илья, Здравствуйте. ср, 13 февр. 2019 г. в 14:04, Ilya Chesnokov : > Просто это плохой стиль кодирования и вызывает предупреждение > интерпретатора. > > Согласен. > А так да, разницы нет :-) > > "There's More Than One Way To Do It" :) Спасибо. > вс, 10 февр. 2019 г. в 14:06, Alessandro Gorohovski via Moscow-pm > : > > > > Hi Denis, > > > > вс, 10 февр. 2019 г. в 13:24, Denis Ibaev via Moscow-pm < > moscow-pm на pm.org>: > >> > >> Привет. > >> > >> В первом случае мы непосредственно обращаемся к элементу. Во втором — > >> сначала получаем срез из одного элемента, а это список. Далее всё > >> зависит от того, что мы с этим списком делаем. (Навскидку не приходят > >> в голову отличия от первого случая для списка из одного элемента.) > > > > > > Да, согласен, на вскидку, пока тоже не могу найти/вспомнить ситуацию, > > где это было бы критично и вызывало ошибки. > > > > Спасибо. > > > > > >> > >> вс, 10 февр. 2019 г. в 12:41, Alessandro Gorohovski via Moscow-pm > >> : > >> > > >> > Подскажите по существу кто знает, есть ли принципиальная разница > >> > между обращениями, например, к 5-му значению некоторого массива @m, > >> > допустим состоящего из >5 элементов в таких случаях: > >> > > >> > $m[5] > >> > @m[5] > >> > ? > >> > >> -- > >> Денис Ибаев > >> -- > >> Moscow.pm mailing list > >> moscow-pm на pm.org | http://moscow.pm.org > > > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > Best regards, > Ilya Chesnokov > ----------- следующая часть ----------- Вложение в формате HTML было извлечено… URL: From chesnokov.ilya на gmail.com Thu Feb 21 07:34:06 2019 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Thu, 21 Feb 2019 18:34:06 +0300 Subject: [Moscow.pm] =?utf-8?b?0KDQsNGB0L/RgNC10LTQtdC70LXQvdC40LUgdXNl?= =?utf-8?b?ciDQuCBzeXN0ZW0gdGltZSDQtNC70Y8g0L/Rg9GB0YLQvtCz0L4g0YY=?= =?utf-8?b?0LjQutC70LA=?= Message-ID: Всем привет. Недавно заметил, что на моей виртуальной машине с FreeBSD 10.4-RELEASE-p13, работающей под VirtualBox, запущенным под Linux (4.18.0-15-generic #16-Ubuntu SMP), творятся странные вещи. Любой код, использующий модуль Benchmark (в том числе тесты для некоторых CPAN-модулей, например DBIx::Class, Devel::NYTProf) на 100% загружают CPU и вообще выполняется очень долго. После некоторого исследования обнаружилось, что причиной тому - вот эта вот строчка: https://metacpan.org/source/SHAY/perl-5.28.1/lib/Benchmark.pm#L718 Т.е., Benchmark ждет, пока изменится user time, и только после этого продолжает работать. Почему-то на моей виртуалке такая вот "пустая" операция, какой является Benchmark->new() занимает очень мало user time и очень много system time. При этом на хост-системе они приблизительно равны или user time даже больше. Для определения этого я написал вот такой однострочник: time perl -E '$|++; $SIG{ALRM} = sub { die "alarm\n"; }; alarm 1; say join " ", times while 1' На виртуалке последняя строчка примерно такая: 0.015625 0.9921875 0 0 На хост-машине такая: 0.62 0.38 0 0 Т.е. видно, что на виртуалке для пустого цикла user time почти не меняется, что приводит к долгому прогону цикла в модуле Benchmark. Есть идеи, почему это так, и как это исправить? -- Best regards, Ilya Chesnokov From chesnokov.ilya на gmail.com Thu Feb 21 07:44:55 2019 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Thu, 21 Feb 2019 18:44:55 +0300 Subject: [Moscow.pm] =?utf-8?b?0KDQsNGB0L/RgNC10LTQtdC70LXQvdC40LUgdXNl?= =?utf-8?b?ciDQuCBzeXN0ZW0gdGltZSDQtNC70Y8g0L/Rg9GB0YLQvtCz0L4g0YY=?= =?utf-8?b?0LjQutC70LA=?= In-Reply-To: References: Message-ID: Похоже, уже нашёл ответ... :-) https://perl5.git.perl.org/perl.git/commit/78462dd3f2a26a5a5f9ec040277bad147e6c5d52 Разрабы специально добавили в цикл какую-то работу, чтобы user time менялся быстрее. Но у меня perl более старый. чт, 21 февр. 2019 г. в 18:34, Ilya Chesnokov : > > Всем привет. > > Недавно заметил, что на моей виртуальной машине с FreeBSD > 10.4-RELEASE-p13, работающей под VirtualBox, запущенным под Linux > (4.18.0-15-generic #16-Ubuntu SMP), творятся странные вещи. > > Любой код, использующий модуль Benchmark (в том числе тесты для > некоторых CPAN-модулей, например DBIx::Class, Devel::NYTProf) на 100% > загружают CPU и вообще выполняется очень долго. После некоторого > исследования обнаружилось, что причиной тому - вот эта вот строчка: > https://metacpan.org/source/SHAY/perl-5.28.1/lib/Benchmark.pm#L718 > Т.е., Benchmark ждет, пока изменится user time, и только после этого > продолжает работать. > > Почему-то на моей виртуалке такая вот "пустая" операция, какой > является Benchmark->new() занимает очень мало user time и очень много > system time. При этом на хост-системе они приблизительно равны или > user time даже больше. Для определения этого я написал вот такой > однострочник: > > time perl -E '$|++; $SIG{ALRM} = sub { die "alarm\n"; }; alarm 1; say > join " ", times while 1' > > На виртуалке последняя строчка примерно такая: 0.015625 0.9921875 0 0 > На хост-машине такая: 0.62 0.38 0 0 > > Т.е. видно, что на виртуалке для пустого цикла user time почти не > меняется, что приводит к долгому прогону цикла в модуле Benchmark. > > Есть идеи, почему это так, и как это исправить? > > -- > Best regards, > Ilya Chesnokov -- Best regards, Ilya Chesnokov From mi на ya.ru Mon Feb 25 02:03:10 2019 From: mi на ya.ru (Nikolay Mishin) Date: Mon, 25 Feb 2019 13:03:10 +0300 Subject: [Moscow.pm] =?utf-8?q?cpan_=D0=B2_git-bash?= Message-ID: <30728641551088990@sas1-87f9feb8d943.qloud-c.yandex.net> Коллеги, вот git-bash - классная штука, но cpan там сломан и кто его собирает, неужели нельзя попрямее сделать? Can't locate local/lib.pm in @INC (you may need to install the local::lib module) (@INC contains: /c/Users/mishin/perl5/lib/perl5 /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl) at /usr/share/perl5/core_perl/CPAN/FirstTime.pm line 1347. жаль, думал его достаточно, чтобы был нормальный perl под виндой видимо http://strawberryperl.com/download/5.28.1.1/strawberry-perl-5.28.1.1-64bit-portable.zip наше все -- С уважением Николай Мишин From chesnokov.ilya на gmail.com Mon Feb 25 03:49:28 2019 From: chesnokov.ilya на gmail.com (Ilya Chesnokov) Date: Mon, 25 Feb 2019 14:49:28 +0300 Subject: [Moscow.pm] =?utf-8?q?cpan_=D0=B2_git-bash?= In-Reply-To: <30728641551088990@sas1-87f9feb8d943.qloud-c.yandex.net> References: <30728641551088990@sas1-87f9feb8d943.qloud-c.yandex.net> Message-ID: Привет. Наверное ты очень многого хочешь от git-bash :-) Если ты под win 10, попробуй WSL. пн, 25 февр. 2019 г. в 13:08, Nikolay Mishin via Moscow-pm : > > Коллеги, > вот git-bash - классная штука, но cpan там сломан и кто его собирает, неужели нельзя попрямее сделать? > > Can't locate local/lib.pm in @INC (you may need to install the local::lib module) (@INC contains: /c/Users/mishin/perl5/lib/perl5 /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl) at /usr/share/perl5/core_perl/CPAN/FirstTime.pm line 1347. > > жаль, думал его достаточно, чтобы был нормальный perl под виндой > видимо > http://strawberryperl.com/download/5.28.1.1/strawberry-perl-5.28.1.1-64bit-portable.zip > наше все > > -- > С уважением > Николай Мишин > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- Best regards, Ilya Chesnokov