From i.petro.77.00 на gmail.com Wed Oct 1 04:09:31 2014 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Wed, 1 Oct 2014 15:09:31 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/RgNC+INCz0YDQsNC90LjRhtGLINC+0L/RgtC4?= =?utf-8?b?0LzQuNC30LDRhtC40Lgu?= In-Reply-To: <801127650.20140915120456@softsearch.ru> References: <801127650.20140915120456@softsearch.ru> Message-ID: <20141001110931.GP30939@vdsl.uvw.ru> > Здравствуйте. > Занимаюсь сейчас оптимизацией по скорости одно кода. Разными уловками > и прочим удалось значительно его ускорить. Как ускоряться дальше пока > мыслей не возникает. И возникакет вопрос, а достиг ли я предела? > Как без написания копии кода на сях понять, что его скорость уже не > вырастет? Имхо единственный правильный путь ускорения кода - пересмотр архитектуры приложения. а переписывание того же но с учетом каких-то особых свойств языка/скаляров итп - это зло в чистом виде. можно то же время потратить было на работу над архитектурой и получить бОльший профит. From nordicdyno на yandex.ru Wed Oct 1 07:10:14 2014 From: nordicdyno на yandex.ru (Orlovsky Alexander) Date: Wed, 01 Oct 2014 18:10:14 +0400 Subject: [Moscow.pm] =?koi8-r?b?8NLPIMfSwc7Jw9kgz9DUyc3J2sHDycku?= In-Reply-To: <381204779.20141001095809@softsearch.ru> References: <801127650.20140915120456@softsearch.ru> <956ED5D2-B648-4DFC-924A-CE28923C079C@corp.mail.ru> <381204779.20141001095809@softsearch.ru> Message-ID: <1588351412172614@web4o.yandex.ru> 01.10.2014, 09:58, "Михаил Монашёв" : > Или вот ещё пример: > for(var i=0;i for(var i=arr.length;i>0;){i--;...} > > оба  цикла  для  перебора  элементов  массива  arr  работают одинаково > быстро,  хотя  можно было бы предположить, что второй цикл должен быть > побыстрее.   Такое   ощущение,   что   есть  специальные  оптимизации, > рассчитанные на часто используемые варианты написания кода. > Так и есть. V8 оптимизирует подобные циклы (и не только) ?write code mindfully? (c) http://www.youtube.com/watch?v=UJPdhx5zTaw From postmaster на softsearch.ru Wed Oct 1 09:17:11 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Wed, 1 Oct 2014 20:17:11 +0400 Subject: [Moscow.pm] =?koi8-r?b?8NLPIMfSwc7Jw9kgz9DUyc3J2sHDycku?= In-Reply-To: <20141001110931.GP30939@vdsl.uvw.ru> References: <801127650.20140915120456@softsearch.ru> <20141001110931.GP30939@vdsl.uvw.ru> Message-ID: <104999091.20141001201711@softsearch.ru> Здравствуйте, Ivan. >> Занимаюсь сейчас оптимизацией по скорости одно кода. Разными >> уловками и прочим удалось значительно его ускорить. Как ускоряться >> дальше пока мыслей не возникает. И возникакет вопрос, а достиг ли я >> предела? >> Как без написания копии кода на сях понять, что его скорость уже не >> вырастет? > Имхо единственный правильный путь ускорения кода - пересмотр > архитектуры приложения. > а переписывание того же но с учетом каких-то особых свойств > языка/скаляров итп - это зло в чистом виде. можно то же время > потратить было на работу над архитектурой и получить бОльший профит. Не полностью согласен. Прежде, чем менять архитектуру и алгоритмы можно ещё посмотреть на их реализацию. Она не всегда идеальна и есть нюансы, о которых компилятор никогда не догадается сам, если ему явно не подсказать. А подсказав, например, данные вдруг начинают влезать в кэш процессора и сильно всё ускоряется. -- С уважением, Михаил mailto:postmaster на softsearch.ru From scripter.vrn на gmail.com Thu Oct 2 02:05:27 2014 From: scripter.vrn на gmail.com (=?UTF-8?B?0JLQsNC00LjQvCDQktC70LDRgdC+0LI=?=) Date: Thu, 2 Oct 2014 13:05:27 +0400 Subject: [Moscow.pm] =?utf-8?b?0YHRgtGA0LDQvdC90L7RgdGC0Lgg0L7QutGA0YM=?= =?utf-8?b?0LPQu9C10L3QuNGPINC4IHNyYW5k?= Message-ID: Привет всем, столкнулись со странным эффектом в 5.18 [scripter на dev-vbox:~]$ perl -v | fgrep ver This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd + 1.55 * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' 324528000469816 324528000469815 *[scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 ); say rand()'* *0.261590199385868* [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * $dd + 1.55 * $dd + 59.3) ); say rand()' 0.261590199385868 В 5.14 аргумент srand приводится к целому с отбраыванием дробной части, так же как с int. scripter на work-desktop:~$ perl -v | fgrep ver This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi scripter на work-desktop:~$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd + 1.55 * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' 324528000469816 324528000469815 *scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 ); say rand()'* *0.132392508051456* scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * $dd + 1.55 * $dd + 59.3) ); say rand()' 0.261590199385868 scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * $dd + 1.55 * $dd + 59.3)+1 ); say rand()' 0.132392508051456 А в 5.18 округляется, так же как при выводе. Почему так? Такое поведение описано где-то? -- С уважением, Вадим Власов т.: +7 (916) 424-00-72 ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From victor на vsespb.ru Thu Oct 2 02:15:48 2014 From: victor на vsespb.ru (Victor Efimov) Date: Thu, 2 Oct 2014 13:15:48 +0400 Subject: [Moscow.pm] =?utf-8?b?0YHRgtGA0LDQvdC90L7RgdGC0Lgg0L7QutGA0YM=?= =?utf-8?b?0LPQu9C10L3QuNGPINC4IHNyYW5k?= In-Reply-To: References: Message-ID: в perldoc == Most implementations of srand take an integer and will silently truncate decimal numbers. This means srand(42) will usually produce the same results as srand(42.1). To be safe, always pass srand an integer. == p.s. мучался с предсказуемыми последовательностями псевдослучайных чисел - советовали другой генератор http://perlmonks.org/?node_id=1054438 2 октября 2014 г., 13:05 пользователь Вадим Власов написал: > Привет всем, столкнулись со странным эффектом в 5.18 > > [scripter на dev-vbox:~]$ perl -v | fgrep ver > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-gnu-thread-multi > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd + 1.55 > * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' > 324528000469816 > 324528000469815 > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * $dd + > 1.55 * $dd + 59.3 ); say rand()' > 0.261590199385868 > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * $dd > + 1.55 * $dd + 59.3) ); say rand()' > 0.261590199385868 > > В 5.14 аргумент srand приводится к целому с отбраыванием дробной части, так > же как с int. > > > scripter на work-desktop:~$ perl -v | fgrep ver > This is perl 5, version 18, subversion 2 (v5.18.2) built for > x86_64-linux-gnu-thread-multi > scripter на work-desktop:~$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd + > 1.55 * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' > 324528000469816 > 324528000469815 > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * $dd + > 1.55 * $dd + 59.3 ); say rand()' > 0.132392508051456 > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * > $dd + 1.55 * $dd + 59.3) ); say rand()' > 0.261590199385868 > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * > $dd + 1.55 * $dd + 59.3)+1 ); say rand()' > 0.132392508051456 > > А в 5.18 округляется, так же как при выводе. Почему так? Такое поведение > описано где-то? > > -- > С уважением, > Вадим Власов > т.: +7 (916) 424-00-72 > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > From scripter.vrn на gmail.com Thu Oct 2 03:18:20 2014 From: scripter.vrn на gmail.com (=?UTF-8?B?0JLQsNC00LjQvCDQktC70LDRgdC+0LI=?=) Date: Thu, 2 Oct 2014 14:18:20 +0400 Subject: [Moscow.pm] =?utf-8?b?0YHRgtGA0LDQvdC90L7RgdGC0Lgg0L7QutGA0YM=?= =?utf-8?b?0LPQu9C10L3QuNGPINC4IHNyYW5k?= In-Reply-To: References: Message-ID: Ну да, про truncate понятно, не понятно, почему в 5.18 в нашем случае в большую сторону округляет. При этом, если явно подставить дробное число, тоже транкейтит, так же как и в 5.14: [scripter на dev-vbox:~]$ perl -v | fgrep version && perl -E 'srand(3.9); say rand' This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi 0.783234962103055 scripter на work-desktop:~$ perl -v | fgrep version && perl -E 'srand(3.9); say rand' This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi 0.783234962103055 И даже если вычислять аргумент, все равно идентичное поведение: [scripter на dev-vbox:~]$ perl -v | fgrep version && perl -E 'srand(7.8/2); say rand' This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi 0.783234962103055 scripter на work-desktop:~$ perl -v | fgrep version && perl -E 'srand(7.8/2); say rand' This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi 0.783234962103055 2 октября 2014 г., 13:15 пользователь Victor Efimov написал: > в perldoc > == > Most implementations of srand take an integer and will silently > truncate decimal numbers. This means srand(42) will usually produce > the same results as srand(42.1). To be safe, always pass srand an > integer. > == > > p.s. мучался с предсказуемыми последовательностями псевдослучайных > чисел - советовали другой генератор > http://perlmonks.org/?node_id=1054438 > > > 2 октября 2014 г., 13:05 пользователь Вадим Власов > написал: > > Привет всем, столкнулись со странным эффектом в 5.18 > > > > [scripter на dev-vbox:~]$ perl -v | fgrep ver > > This is perl 5, version 14, subversion 2 (v5.14.2) built for > > x86_64-linux-gnu-thread-multi > > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd + > 1.55 > > * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' > > 324528000469816 > > 324528000469815 > > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * > $dd + > > 1.55 * $dd + 59.3 ); say rand()' > > 0.261590199385868 > > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd > * $dd > > + 1.55 * $dd + 59.3) ); say rand()' > > 0.261590199385868 > > > > В 5.14 аргумент srand приводится к целому с отбраыванием дробной части, > так > > же как с int. > > > > > > scripter на work-desktop:~$ perl -v | fgrep ver > > This is perl 5, version 18, subversion 2 (v5.18.2) built for > > x86_64-linux-gnu-thread-multi > > scripter на work-desktop:~$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd > + > > 1.55 * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' > > 324528000469816 > > 324528000469815 > > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * > $dd + > > 1.55 * $dd + 59.3 ); say rand()' > > 0.132392508051456 > > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * > $dd * > > $dd + 1.55 * $dd + 59.3) ); say rand()' > > 0.261590199385868 > > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * > $dd * > > $dd + 1.55 * $dd + 59.3)+1 ); say rand()' > > 0.132392508051456 > > > > А в 5.18 округляется, так же как при выводе. Почему так? Такое поведение > > описано где-то? > > > > -- > > С уважением, > > Вадим Власов > > т.: +7 (916) 424-00-72 > > > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- С уважением, Вадим Власов т.: +7 (916) 424-00-72 ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From victor на vsespb.ru Thu Oct 2 03:46:58 2014 From: victor на vsespb.ru (Victor Efimov) Date: Thu, 2 Oct 2014 14:46:58 +0400 Subject: [Moscow.pm] =?utf-8?b?0YHRgtGA0LDQvdC90L7RgdGC0Lgg0L7QutGA0YM=?= =?utf-8?b?0LPQu9C10L3QuNGPINC4IHNyYW5k?= In-Reply-To: References: Message-ID: Так это самое.. в доке как раз написано "Most implementations" "To be safe, always pass srand an integer.". Т.е. это поведение не документировано, гарантий нет. Поломали значит, его, без сожаления, когда что-то исправляли. Например, могли исправлять баг с генератором под win32, заодно общий код затронули. 2 октября 2014 г., 14:18 пользователь Вадим Власов написал: > Ну да, про truncate понятно, не понятно, почему в 5.18 в нашем случае в > большую сторону округляет. > При этом, если явно подставить дробное число, тоже транкейтит, так же как и > в 5.14: > > [scripter на dev-vbox:~]$ perl -v | fgrep version && perl -E 'srand(3.9); say > rand' > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-gnu-thread-multi > 0.783234962103055 > > scripter на work-desktop:~$ perl -v | fgrep version && perl -E 'srand(3.9); say > rand' > This is perl 5, version 18, subversion 2 (v5.18.2) built for > x86_64-linux-gnu-thread-multi > 0.783234962103055 > > > И даже если вычислять аргумент, все равно идентичное поведение: > > [scripter на dev-vbox:~]$ perl -v | fgrep version && perl -E 'srand(7.8/2); say > rand' > This is perl 5, version 14, subversion 2 (v5.14.2) built for > x86_64-linux-gnu-thread-multi > 0.783234962103055 > > scripter на work-desktop:~$ perl -v | fgrep version && perl -E 'srand(7.8/2); > say rand' > This is perl 5, version 18, subversion 2 (v5.18.2) built for > x86_64-linux-gnu-thread-multi > 0.783234962103055 > > > 2 октября 2014 г., 13:15 пользователь Victor Efimov > написал: > >> в perldoc >> == >> Most implementations of srand take an integer and will silently >> truncate decimal numbers. This means srand(42) will usually produce >> the same results as srand(42.1). To be safe, always pass srand an >> integer. >> == >> >> p.s. мучался с предсказуемыми последовательностями псевдослучайных >> чисел - советовали другой генератор >> http://perlmonks.org/?node_id=1054438 >> >> >> 2 октября 2014 г., 13:05 пользователь Вадим Власов >> написал: >> > Привет всем, столкнулись со странным эффектом в 5.18 >> > >> > [scripter на dev-vbox:~]$ perl -v | fgrep ver >> > This is perl 5, version 14, subversion 2 (v5.14.2) built for >> > x86_64-linux-gnu-thread-multi >> > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd + >> > 1.55 >> > * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' >> > 324528000469816 >> > 324528000469815 >> > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * $dd >> > + >> > 1.55 * $dd + 59.3 ); say rand()' >> > 0.261590199385868 >> > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * >> > $dd >> > + 1.55 * $dd + 59.3) ); say rand()' >> > 0.261590199385868 >> > >> > В 5.14 аргумент srand приводится к целому с отбраыванием дробной части, >> > так >> > же как с int. >> > >> > >> > scripter на work-desktop:~$ perl -v | fgrep ver >> > This is perl 5, version 18, subversion 2 (v5.18.2) built for >> > x86_64-linux-gnu-thread-multi >> > scripter на work-desktop:~$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd >> > + >> > 1.55 * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' >> > 324528000469816 >> > 324528000469815 >> > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * >> > $dd + >> > 1.55 * $dd + 59.3 ); say rand()' >> > 0.132392508051456 >> > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd >> > * >> > $dd + 1.55 * $dd + 59.3) ); say rand()' >> > 0.261590199385868 >> > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd >> > * >> > $dd + 1.55 * $dd + 59.3)+1 ); say rand()' >> > 0.132392508051456 >> > >> > А в 5.18 округляется, так же как при выводе. Почему так? Такое поведение >> > описано где-то? >> > >> > -- >> > С уважением, >> > Вадим Власов >> > т.: +7 (916) 424-00-72 >> > >> > -- >> > Moscow.pm mailing list >> > moscow-pm на pm.org | http://moscow.pm.org >> > >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org > > > > > -- > С уважением, > Вадим Власов > т.: +7 (916) 424-00-72 > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > From asan999 на gmail.com Thu Oct 2 08:33:26 2014 From: asan999 на gmail.com (Andrey Asyakin) Date: Thu, 02 Oct 2014 19:33:26 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLRgdGC0YDQtdGH0LAgMiDQvtC60YLRj9Cx0YA=?= =?utf-8?b?0Y8=?= In-Reply-To: References: Message-ID: <542D7046.2090101@gmail.com> Что же, трансляции значится не будет( 17.09.2014 19:07, Павел Щербинин пишет: > > Дорогие Друзья! > > И вновь офис Mail.RuGroupгостеприимно открывает свои двери сообществу > Moscow.pm ? группе московских Perl-программистов, участникам всемирной > ассоциации Perl Mongers . > > *2 октября* пройдет очередная встреча, в ходе которой: > > *Ксения Боброва***(ведущий программист Денег Mail.Ru > ) в своем докладе ?Гибкое конфигурирование > Perl-приложения с помощью Dependency Injection? расскажет о Dependency > Injection и DI-контейнерах ? объяснит, зачем они нужны и как их можно > применить в приложениях на Perl. > > *Руслан Закиров *(Team lead команды Perl-разработки Sports.ru > ) выступит с докладом ?На крыльце одном сидели Perl, > PHP, Python и JS?. Вы узнаете, как в Sports.ru подружили бекэнд с > фронтэндом, и как РPP на беках не поссорились друг с другом. > > *Павел Щербинин***(Team lead в проекте Новости Mail.Ru > ) рассмотрит популярнейшую игру Perl Golf и > расскажет о ?секретных? операторахPerl. Также Павел даст участникам > семинара возможность немного посоревноваться. > > Мечтаете осуществлять совместные проекты и делиться идеями в области > Perl-программирования? Стремитесь достичь профессионального роста в > среде единомышленников, узнавать о конкретных боевых задачах из первых > рук? Тогда ? welcome на наш семинар! > > *Начало:* 19:30. > > Надеемся, что, как и всегда, свободных мест в конференц-зале не будет. > Потому спешите *зарегистрироваться **здесь* > !? > > > -- > С Уважением, > Щербинин Павел > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dzirtik на gmail.com Thu Oct 2 08:46:00 2014 From: dzirtik на gmail.com (=?UTF-8?B?0J/QsNCy0LXQuyDQqdC10YDQsdC40L3QuNC9?=) Date: Thu, 2 Oct 2014 19:46:00 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLRgdGC0YDQtdGH0LAgMiDQvtC60YLRj9Cx0YA=?= =?utf-8?b?0Y8=?= In-Reply-To: <542D7046.2090101@gmail.com> References: <542D7046.2090101@gmail.com> Message-ID: Привет, ссылка на трансляцию. http://corp.mail.ru/stream/MoscowPM/ 02 окт. 2014 г. 19:33 пользователь "Andrey Asyakin" написал: > Что же, трансляции значится не будет( > 17.09.2014 19:07, Павел Щербинин пишет: > > Дорогие Друзья! > > И вновь офис Mail.Ru Group гостеприимно открывает свои двери сообществу > Moscow.pm ? группе московских Perl-программистов, участникам всемирной > ассоциации Perl Mongers . > > *2 октября* пройдет очередная встреча, в ходе которой: > > *Ксения Боброва* (ведущий программист Денег Mail.Ru > ) в своем докладе ?Гибкое конфигурирование Perl-приложения > с помощью Dependency Injection? расскажет о Dependency Injection и > DI-контейнерах ? объяснит, зачем они нужны и как их можно применить в > приложениях на Perl. > > > > *Руслан Закиров *(Team lead команды Perl-разработки Sports.ru) выступит с > докладом ?На крыльце одном сидели Perl, PHP, Python и JS?. Вы узнаете, как > в Sports.ru подружили бекэнд с фронтэндом, и как РPP на беках не > поссорились друг с другом. > > > > *Павел Щербинин* (Team lead в проекте Новости Mail.Ru > ) рассмотрит популярнейшую игру Perl Golf и > расскажет о ?секретных? операторахPerl. Также Павел даст участникам > семинара возможность немного посоревноваться. > > > > Мечтаете осуществлять совместные проекты и делиться идеями в области > Perl-программирования? Стремитесь достичь профессионального роста в среде > единомышленников, узнавать о конкретных боевых задачах из первых рук? Тогда > ? welcome на наш семинар! > > *Начало:* 19:30. > > Надеемся, что, как и всегда, свободных мест в конференц-зале не будет. > Потому спешите *зарегистрироваться **здесь* > !? > > -- > С Уважением, > Щербинин Павел > > > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nugged на gmail.com Thu Oct 2 09:58:14 2014 From: nugged на gmail.com (Andrew Nugged) Date: Thu, 2 Oct 2014 19:58:14 +0300 Subject: [Moscow.pm] =?utf-8?b?0JLRgdGC0YDQtdGH0LAgMiDQvtC60YLRj9Cx0YA=?= =?utf-8?b?0Y8=?= In-Reply-To: References: <542D7046.2090101@gmail.com> Message-ID: > Привет, ссылка на трансляцию. > > http://corp.mail.ru/stream/MoscowPM/ > Смотрим-смотрим! Как приветствуют друг друга эскимосы :-). -- With respect, Andrew Nugged, nugged на gmail.com ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From stork2000 на yandex.ru Thu Oct 2 10:08:12 2014 From: stork2000 на yandex.ru (Loginoff Nick) Date: Thu, 02 Oct 2014 21:08:12 +0400 Subject: [Moscow.pm] =?koi8-r?b?99PU0sXewSAyIM/L1NHC0tE=?= In-Reply-To: References: <542D7046.2090101@gmail.com> Message-ID: <235351412269692@web8g.yandex.ru> Вложение в формате HTML было извлечено… URL: From dzirtik на gmail.com Thu Oct 2 10:58:25 2014 From: dzirtik на gmail.com (=?UTF-8?B?0J/QsNCy0LXQuyDQqdC10YDQsdC40L3QuNC9?=) Date: Thu, 2 Oct 2014 21:58:25 +0400 Subject: [Moscow.pm] Perl Golf Message-ID: https://github.com/Shreck/moscow_golf_1410 Учавствуйте! Присылайте тесты! -- С Уважением, Щербинин Павел ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mi на ya.ru Thu Oct 2 21:05:31 2014 From: mi на ya.ru (Nikolay Mishin) Date: Fri, 03 Oct 2014 08:05:31 +0400 Subject: [Moscow.pm] =?koi8-r?b?99PU0sXewSAyIM/L1NHC0tE=?= In-Reply-To: <235351412269692@web8g.yandex.ru> References: <542D7046.2090101@gmail.com> <235351412269692@web8g.yandex.ru> Message-ID: <664561412309131@web26o.yandex.ru> все было отлично, mail.ru молодцы, что поддерживают moscow.pm ну и профит получить..мне кажется они на это имеют полное право.. 02.10.2014, 21:09, "Loginoff Nick" : > Мы, говорит, не Хантим... ;-) Чисто случайно у нас тут куча вакансий и вон пойдемте на экскурсию в офис ;-) > > 02.10.2014, 19:46, "Павел Щербинин" : >>  Привет, ссылка на трансляцию. >> >>  http://corp.mail.ru/stream/MoscowPM/ >> >>  02 окт. 2014 г. 19:33 пользователь "Andrey Asyakin" написал: >>>  Что же, трансляции значится не будет( >>> >>>  17.09.2014 19:07, Павел Щербинин пишет: >>>>  Дорогие Друзья! >>>> >>>>  И вновь офис Mail.Ru Group  гостеприимно открывает свои двери сообществу Moscow.pm ? группе московских Perl-программистов, участникам всемирной ассоциации Perl Mongers. >>>> >>>>  2 октября пройдет очередная встреча, в ходе которой: >>>> >>>>  Ксения Боброва (ведущий программист Денег Mail.Ru) в своем докладе ?Гибкое конфигурирование Perl-приложения с помощью Dependency Injection? расскажет о Dependency Injection и DI-контейнерах ? объяснит, зачем они нужны и как их можно применить в приложениях на Perl. >>>> >>>>  Руслан Закиров (Team lead команды Perl-разработки Sports.ru) выступит с докладом ?На крыльце одном сидели Perl, PHP, Python и JS?. Вы узнаете, как в Sports.ru подружили бекэнд с фронтэндом, и как РPP на беках не поссорились друг с другом. >>>> >>>>  Павел Щербинин (Team lead в проекте Новости Mail.Ru) рассмотрит популярнейшую игру Perl Golf и расскажет о ?секретных? операторахPerl. Также  Павел даст участникам семинара возможность немного посоревноваться. >>>> >>>>  Мечтаете осуществлять совместные проекты и делиться идеями в области Perl-программирования? Стремитесь достичь профессионального роста в среде единомышленников, узнавать о конкретных боевых задачах из первых рук? Тогда ? welcome на наш семинар! >>>> >>>>  Начало: 19:30. >>>> >>>>  Надеемся, что, как и всегда, свободных мест в конференц-зале не будет. Потому спешите зарегистрироваться здесь!? >>>> >>>>  -- >>>>  С Уважением, >>>>  Щербинин Павел >>>  -- >>>  Moscow.pm mailing list >>>  moscow-pm на pm.org | http://moscow.pm.org >>  , >> >>  -- >>  Moscow.pm mailing list >>  moscow-pm на pm.org | http://moscow.pm.org > >  -- > С Уважением, Login|off Nick или STork. > , > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From snelius на tsu.ru Thu Oct 2 21:48:02 2014 From: snelius на tsu.ru (Anatoly Y) Date: Fri, 3 Oct 2014 11:48:02 +0700 Subject: [Moscow.pm] =?utf-8?b?0JLRgdGC0YDQtdGH0LAgMiDQvtC60YLRj9Cx0YA=?= =?utf-8?b?0Y8=?= In-Reply-To: <664561412309131@web26o.yandex.ru> References: <542D7046.2090101@gmail.com> <235351412269692@web8g.yandex.ru> <664561412309131@web26o.yandex.ru> Message-ID: Запись-то какая-то есть? Поглядеть в офлайне хоть. 3 октября 2014 г., 11:05 пользователь Nikolay Mishin написал: > все было отлично, mail.ru молодцы, что поддерживают moscow.pm > ну и профит получить..мне кажется они на это имеют полное право.. > > 02.10.2014, 21:09, "Loginoff Nick" : > > Мы, говорит, не Хантим... ;-) Чисто случайно у нас тут куча вакансий и > вон пойдемте на экскурсию в офис ;-) > > > > 02.10.2014, 19:46, "Павел Щербинин" : > >> Привет, ссылка на трансляцию. > >> > >> http://corp.mail.ru/stream/MoscowPM/ > >> > >> 02 окт. 2014 г. 19:33 пользователь "Andrey Asyakin" > написал: > >>> Что же, трансляции значится не будет( > >>> > >>> 17.09.2014 19:07, Павел Щербинин пишет: > >>>> Дорогие Друзья! > >>>> > >>>> И вновь офис Mail.Ru Group гостеприимно открывает свои двери > сообществу Moscow.pm ? группе московских Perl-программистов, участникам > всемирной ассоциации Perl Mongers. > >>>> > >>>> 2 октября пройдет очередная встреча, в ходе которой: > >>>> > >>>> Ксения Боброва (ведущий программист Денег Mail.Ru) в своем докладе > ?Гибкое конфигурирование Perl-приложения с помощью Dependency Injection? > расскажет о Dependency Injection и DI-контейнерах ? объяснит, зачем они > нужны и как их можно применить в приложениях на Perl. > >>>> > >>>> Руслан Закиров (Team lead команды Perl-разработки Sports.ru) > выступит с докладом ?На крыльце одном сидели Perl, PHP, Python и JS?. Вы > узнаете, как в Sports.ru подружили бекэнд с фронтэндом, и как РPP на беках > не поссорились друг с другом. > >>>> > >>>> Павел Щербинин (Team lead в проекте Новости Mail.Ru) рассмотрит > популярнейшую игру Perl Golf и расскажет о ?секретных? операторахPerl. > Также Павел даст участникам семинара возможность немного посоревноваться. > >>>> > >>>> Мечтаете осуществлять совместные проекты и делиться идеями в области > Perl-программирования? Стремитесь достичь профессионального роста в среде > единомышленников, узнавать о конкретных боевых задачах из первых рук? Тогда > ? welcome на наш семинар! > >>>> > >>>> Начало: 19:30. > >>>> > >>>> Надеемся, что, как и всегда, свободных мест в конференц-зале не > будет. Потому спешите зарегистрироваться здесь!? > >>>> > >>>> -- > >>>> С Уважением, > >>>> Щербинин Павел > >>> -- > >>> Moscow.pm mailing list > >>> moscow-pm на pm.org | http://moscow.pm.org > >> , > >> > >> -- > >> Moscow.pm mailing list > >> moscow-pm на pm.org | http://moscow.pm.org > > > > -- > > С Уважением, Login|off Nick или STork. > > , > > > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > > -- > С уважением > Николай Мишин > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Anatoly Y. aka Snelius | AY254-RIPE ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dzirtik на gmail.com Thu Oct 2 21:53:50 2014 From: dzirtik на gmail.com (=?UTF-8?B?0J/QsNCy0LXQuyDQqdC10YDQsdC40L3QuNC9?=) Date: Fri, 3 Oct 2014 08:53:50 +0400 Subject: [Moscow.pm] =?utf-8?b?0JLRgdGC0YDQtdGH0LAgMiDQvtC60YLRj9Cx0YA=?= =?utf-8?b?0Y8=?= In-Reply-To: References: <542D7046.2090101@gmail.com> <235351412269692@web8g.yandex.ru> <664561412309131@web26o.yandex.ru> Message-ID: Да, запись опубликуем сразу как получим ее от партнеров 03 окт. 2014 г. 8:48 пользователь "Anatoly Y" написал: > Запись-то какая-то есть? Поглядеть в офлайне хоть. > > 3 октября 2014 г., 11:05 пользователь Nikolay Mishin написал: > >> все было отлично, mail.ru молодцы, что поддерживают moscow.pm >> ну и профит получить..мне кажется они на это имеют полное право.. >> >> 02.10.2014, 21:09, "Loginoff Nick" : >> > Мы, говорит, не Хантим... ;-) Чисто случайно у нас тут куча вакансий и >> вон пойдемте на экскурсию в офис ;-) >> > >> > 02.10.2014, 19:46, "Павел Щербинин" : >> >> Привет, ссылка на трансляцию. >> >> >> >> http://corp.mail.ru/stream/MoscowPM/ >> >> >> >> 02 окт. 2014 г. 19:33 пользователь "Andrey Asyakin" < >> asan999 на gmail.com> написал: >> >>> Что же, трансляции значится не будет( >> >>> >> >>> 17.09.2014 19:07, Павел Щербинин пишет: >> >>>> Дорогие Друзья! >> >>>> >> >>>> И вновь офис Mail.Ru Group гостеприимно открывает свои двери >> сообществу Moscow.pm ? группе московских Perl-программистов, участникам >> всемирной ассоциации Perl Mongers. >> >>>> >> >>>> 2 октября пройдет очередная встреча, в ходе которой: >> >>>> >> >>>> Ксения Боброва (ведущий программист Денег Mail.Ru) в своем докладе >> ?Гибкое конфигурирование Perl-приложения с помощью Dependency Injection? >> расскажет о Dependency Injection и DI-контейнерах ? объяснит, зачем они >> нужны и как их можно применить в приложениях на Perl. >> >>>> >> >>>> Руслан Закиров (Team lead команды Perl-разработки Sports.ru) >> выступит с докладом ?На крыльце одном сидели Perl, PHP, Python и JS?. Вы >> узнаете, как в Sports.ru подружили бекэнд с фронтэндом, и как РPP на беках >> не поссорились друг с другом. >> >>>> >> >>>> Павел Щербинин (Team lead в проекте Новости Mail.Ru) рассмотрит >> популярнейшую игру Perl Golf и расскажет о ?секретных? операторахPerl. >> Также Павел даст участникам семинара возможность немного посоревноваться. >> >>>> >> >>>> Мечтаете осуществлять совместные проекты и делиться идеями в >> области Perl-программирования? Стремитесь достичь профессионального роста в >> среде единомышленников, узнавать о конкретных боевых задачах из первых рук? >> Тогда ? welcome на наш семинар! >> >>>> >> >>>> Начало: 19:30. >> >>>> >> >>>> Надеемся, что, как и всегда, свободных мест в конференц-зале не >> будет. Потому спешите зарегистрироваться здесь!? >> >>>> >> >>>> -- >> >>>> С Уважением, >> >>>> Щербинин Павел >> >>> -- >> >>> Moscow.pm mailing list >> >>> moscow-pm на pm.org | http://moscow.pm.org >> >> , >> >> >> >> -- >> >> Moscow.pm mailing list >> >> moscow-pm на pm.org | http://moscow.pm.org >> > >> > -- >> > С Уважением, Login|off Nick или STork. >> > , >> > >> > -- >> > Moscow.pm mailing list >> > moscow-pm на pm.org | http://moscow.pm.org >> >> -- >> С уважением >> Николай Мишин >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> > > > > -- > Anatoly Y. aka Snelius | AY254-RIPE > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From dzirtik на gmail.com Fri Oct 3 05:54:24 2014 From: dzirtik на gmail.com (=?UTF-8?B?0J/QsNCy0LXQuyDQqdC10YDQsdC40L3QuNC9?=) Date: Fri, 3 Oct 2014 16:54:24 +0400 Subject: [Moscow.pm] Golf Message-ID: Да начнется битва языков!)) http://habrahabr.ru/company/mailru/blog/239087/ -- С Уважением, Щербинин Павел ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From foxcool333 на gmail.com Fri Oct 3 06:01:44 2014 From: foxcool333 на gmail.com (Foxcool) Date: Fri, 03 Oct 2014 17:01:44 +0400 Subject: [Moscow.pm] Golf In-Reply-To: References: Message-ID: <542E9E38.3010404@gmail.com> Пт 03 окт 2014 16:54:24, Павел Щербинин писал: > Да начнется битва языков!)) > > http://habrahabr.ru/company/mailru/blog/239087/ > > -- > С Уважением, > Щербинин Павел > Иногда поражаюсь, что у людей с клевой квалификацией и опытом нет нормальных дел, чем заняться, кроме написания коммерческого говна в корпорации, а на досуге играть в игры для задротов. Свободный Мир ждет полноценную распределенную trustless замену скайпу, почте, ютубу, самому интернету (mesh-сети), вебу, а крутые программеры играют в "гольф". ((: From tolid на tolid.eu.org Fri Oct 3 06:21:30 2014 From: tolid на tolid.eu.org (Anatoliy Dmytriyev) Date: Fri, 3 Oct 2014 15:21:30 +0200 Subject: [Moscow.pm] Golf In-Reply-To: <542E9E38.3010404@gmail.com> References: <542E9E38.3010404@gmail.com> Message-ID: <6F8A226B-EF60-434F-8FB2-1018006D22F1@tolid.eu.org> Как говорится: подпишусь на комменты ... On 03 Oct 2014, at 15:01, Foxcool wrote: > Пт 03 окт 2014 16:54:24, Павел Щербинин писал: >> Да начнется битва языков!)) >> >> http://habrahabr.ru/company/mailru/blog/239087/ >> >> -- >> С Уважением, >> Щербинин Павел >> > > > Иногда поражаюсь, что у людей с клевой квалификацией и опытом нет нормальных дел, чем заняться, кроме написания коммерческого говна в корпорации, а на досуге играть в игры для задротов. > > Свободный Мир ждет полноценную распределенную trustless замену скайпу, почте, ютубу, самому интернету (mesh-сети), вебу, а крутые программеры играют в "гольф". ((: > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From timur.nozadze на gmail.com Fri Oct 3 11:41:17 2014 From: timur.nozadze на gmail.com (=?UTF-8?B?0KLQuNC80YPRgCDQndC+0LfQsNC00LfQtQ==?=) Date: Fri, 3 Oct 2014 22:41:17 +0400 Subject: [Moscow.pm] Golf In-Reply-To: <542E9E38.3010404@gmail.com> References: <542E9E38.3010404@gmail.com> Message-ID: А ещё мы пиво иногда пьём, особенно по пятницам. В то время как Свободный Мир ждёт? Кстати, если вы занимаетесь каким-то из перечисленных мегапроектов, было бы интересно послушать об этом. Например, хотя бы на следующем Moscow.pm. Чтобы разбавить всякие дурацкие ?гольфы?. :) 3 октября 2014 г., 17:01 пользователь Foxcool написал: > Пт 03 окт 2014 16:54:24, Павел Щербинин писал: > > Да начнется битва языков!)) >> >> http://habrahabr.ru/company/mailru/blog/239087/ >> >> -- >> С Уважением, >> Щербинин Павел >> >> > > Иногда поражаюсь, что у людей с клевой квалификацией и опытом нет > нормальных дел, чем заняться, кроме написания коммерческого говна в > корпорации, а на досуге играть в игры для задротов. > > Свободный Мир ждет полноценную распределенную trustless замену скайпу, > почте, ютубу, самому интернету (mesh-сети), вебу, а крутые программеры > играют в "гольф". ((: > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- С уважением, Тимур Нозадзе ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From foxcool333 на gmail.com Fri Oct 3 12:42:13 2014 From: foxcool333 на gmail.com (=?UTF-8?B?0JDQu9C10LrRgdCw0L3QtNGAINCk0L7QutGB0LrRg9C7?=) Date: Fri, 3 Oct 2014 23:42:13 +0400 Subject: [Moscow.pm] Golf In-Reply-To: References: <542E9E38.3010404@gmail.com> Message-ID: У меня как раз не так все круто с квалификацией ): 03.10.2014 22:41 пользователь "Тимур Нозадзе" написал: > А ещё мы пиво иногда пьём, особенно по пятницам. В то время как Свободный > Мир ждёт? > Кстати, если вы занимаетесь каким-то из перечисленных мегапроектов, было > бы интересно послушать об этом. Например, хотя бы на следующем Moscow.pm. > Чтобы разбавить всякие дурацкие ?гольфы?. :) > > 3 октября 2014 г., 17:01 пользователь Foxcool > написал: > >> Пт 03 окт 2014 16:54:24, Павел Щербинин писал: >> >> Да начнется битва языков!)) >>> >>> http://habrahabr.ru/company/mailru/blog/239087/ >>> >>> -- >>> С Уважением, >>> Щербинин Павел >>> >>> >> >> Иногда поражаюсь, что у людей с клевой квалификацией и опытом нет >> нормальных дел, чем заняться, кроме написания коммерческого говна в >> корпорации, а на досуге играть в игры для задротов. >> >> Свободный Мир ждет полноценную распределенную trustless замену скайпу, >> почте, ютубу, самому интернету (mesh-сети), вебу, а крутые программеры >> играют в "гольф". ((: >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> > > > > -- > С уважением, Тимур Нозадзе > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From postmaster на softsearch.ru Fri Oct 3 13:57:19 2014 From: postmaster на softsearch.ru (=?koi8-r?B?7cnIwcnMIO3PzsHbo9c=?=) Date: Sat, 4 Oct 2014 00:57:19 +0400 Subject: [Moscow.pm] Golf In-Reply-To: <542E9E38.3010404@gmail.com> References: <542E9E38.3010404@gmail.com> Message-ID: <1542590527.20141004005719@softsearch.ru> Здравствуйте, Foxcool. Надо mail.ru как-то будущих сотрудников искать... Или цель конкурса только мне очевидна? > Иногда поражаюсь, что у людей с клевой квалификацией и опытом нет > нормальных дел, чем заняться, кроме написания коммерческого говна в > корпорации, а на досуге играть в игры для задротов. > Свободный Мир ждет полноценную распределенную trustless замену скайпу, > почте, ютубу, самому интернету (mesh-сети), вебу, а крутые программеры > играют в "гольф". ((: -- С уважением, Михаил mailto:postmaster на softsearch.ru From mail на knutov.com Fri Oct 3 14:44:25 2014 From: mail на knutov.com (Nick Knutov) Date: Sat, 04 Oct 2014 03:44:25 +0600 Subject: [Moscow.pm] =?utf-8?b?0KDQsNC30LHQvtGAINGC0LXQu9CwINC/0LjRgdGM?= =?utf-8?b?0LzQsA==?= Message-ID: <542F18B9.5090009@knutov.com> Есть письмо, полученное по имап через Mail::IMAPClient. Письмо в общем случае является ответом на какое-то другое письмо в одном из популярных почтовых клиентов (я думаю, что это громоптица, аутлук, бат + популярные вебинтерфейсы: гмейл, яндекс, мейлру, яху + популярные мобильные почтовые клиенты: вероятно к-9 мейл + Mail.app). Вопрос: есть ли какой-нибудь готовый хороший модуль, которым можно из тела емейла взять отдельно ответ на письмо, отквотированный текст и подпись? С учетом того, что отквотированный текст может быть до и после подписи, квотирование текста может быть очень разным в зависимости от клиента, да и к тому же письмо может быть как plain text, так и html. -- Best Regards, Nick Knutov http://knutov.com ICQ: 272873706 Voice: +7-904-84-23-130 From victor на vsespb.ru Tue Oct 7 04:45:02 2014 From: victor на vsespb.ru (Victor Efimov) Date: Tue, 7 Oct 2014 15:45:02 +0400 Subject: [Moscow.pm] =?utf-8?b?0J/QvtGB0YIg0L3QsCDRhdCw0LHRgNC1INC/0YA=?= =?utf-8?b?0L4g0LzQvtC00YPQu9GMIFRlc3Q6OlNwZWM=?= Message-ID: http://habrahabr.ru/company/regru/blog/239417/ Subj используется у нас очень активно, теперь мы собрали весь опыт по этому поводу и написали статью. В начале описываются преимущества этого модуля (не очень большой раздел, не потому что их мало - они огромные, просто всё и так документировано или относится к методологиям TDD/BDD). Потом идёт подробный рассказ про грабли и особенности. В общем вопросы, советы - велком. From mi на ya.ru Wed Oct 8 10:26:48 2014 From: mi на ya.ru (Nikolay Mishin) Date: Wed, 08 Oct 2014 21:26:48 +0400 Subject: [Moscow.pm] =?koi8-r?b?68nUwcrTy8HRIMfSwc3P1MEgySDQxdLMx8/M2MY=?= Message-ID: <465241412789208@web22m.yandex.ru> Пишу в фейсбуке однострочник (https://www.facebook.com/nmishin) perl -E 'use IO::All;$p{$_->name}=$_->getlines for grep{/perlre/}io->dir(".")->all;for$k(sort{$p{$a}<=>$p{$b}}keys%p){say qq{$k $p{$k}}}' сестра, спрашивает: ? Китайская грамота? ? это называется perl гольф ? (".") Мне вот этот нравится Интересная реация для непосвященных;)) -- С уважением Николай Мишин From postmaster на softsearch.ru Wed Oct 8 10:39:43 2014 From: postmaster на softsearch.ru (=?Windows-1251?B?zOj14OjrIMzu7eD4uOI=?=) Date: Wed, 8 Oct 2014 21:39:43 +0400 Subject: [Moscow.pm] =?windows-1251?b?yujy4Onx6uD/IOPw4Ozu8uAg6CDv5fDr4+7r?= =?windows-1251?b?/PQ=?= In-Reply-To: <465241412789208@web22m.yandex.ru> References: <465241412789208@web22m.yandex.ru> Message-ID: <1381377194.20141008213943@softsearch.ru> Здравствуйте, Nikolay. > ? (".") Мне вот этот нравится Это китайский котик :-) -- С уважением, Михаил mailto:postmaster на softsearch.ru From i.petro.77.00 на gmail.com Wed Oct 8 11:26:14 2014 From: i.petro.77.00 на gmail.com (Ivan Petrov) Date: Wed, 8 Oct 2014 22:26:14 +0400 Subject: [Moscow.pm] =?utf-8?b?0JrQuNGC0LDQudGB0LrQsNGPINCz0YDQsNC80L4=?= =?utf-8?b?0YLQsCDQuCDQv9C10YDQu9Cz0L7Qu9GM0YQ=?= In-Reply-To: <465241412789208@web22m.yandex.ru> References: <465241412789208@web22m.yandex.ru> Message-ID: <20141008182614.GD16147@vdsl.uvw.ru> > Пишу в фейсбуке однострочник (https://www.facebook.com/nmishin) > perl -E 'use IO::All;$p{$_->name}=$_->getlines for grep{/perlre/}io->dir(".")->all;for$k(sort{$p{$a}<=>$p{$b}}keys%p){say qq{$k $p{$k}}}' > сестра, спрашивает: > ? Китайская грамота? > ? это называется perl гольф > ? (".") Мне вот этот нравится > Интересная реация для непосвященных;)) никогда не понимал стремящихся на перле написать какую-то хрень, которую не прочитать From mi на ya.ru Mon Oct 13 12:51:39 2014 From: mi на ya.ru (Nikolay Mishin) Date: Mon, 13 Oct 2014 23:51:39 +0400 Subject: [Moscow.pm] utf8 Message-ID: <1846591413229899@web24o.yandex.ru> Дорогие перломаны и перлознаи, как любил говорить мой хороший знакомый, Приходит мне на вход строка (https://github.com/mishin/presentation/blob/master/show_utf.pl) вида \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) - (так utf экспортируется в dsx в IBM Datastage) ну я ее преобразую к виду \x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b} my $utf_str_2 = "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; вот код #!/usr/bin/env perl use utf8; use Modern::Perl; use Encode::Locale; use Data::Dumper qw( Dumper ); if (-t) { binmode( STDIN, ":encoding(console_in)" ); binmode( STDOUT, ":encoding(console_out)" ); binmode( STDERR, ":encoding(console_out)" ); } my $love = "Я люблю Перл"; print Dumper ($love); my $utf_str = "\x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b}"; $utf_str =~ s/\\x\{(\w+)\}/\($1)/g; say "$utf_str"; my $utf_str_2 = "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; say 1; say $utf_str_2; но интересно, что если у тебя есть строка $a="\x{42f}"; say $a; то say выведет "Я" но если у тебя происходят преобразования и сама строка становится "\x{42f}" после $a="\(42f)"; $a =~ s/\((\w+)\)/\\x{$1}/g; то say $a; выводит "\x{42f}" вопрос (тем, кто дочитал;)) как сделать так, чтобы напечаталась "Я" ?? спасибо -- С уважением Николай Мишин From bobrovaksenia на gmail.com Mon Oct 13 13:05:43 2014 From: bobrovaksenia на gmail.com (=?UTF-8?B?0JrRgdC10L3QuNGPINCR0L7QsdGA0L7QstCw?=) Date: Tue, 14 Oct 2014 00:05:43 +0400 Subject: [Moscow.pm] utf8 In-Reply-To: <1846591413229899@web24o.yandex.ru> References: <1846591413229899@web24o.yandex.ru> Message-ID: $a =~ s/\((\w+)\)/$1/g; print pack('U', hex($a)); 13 октября 2014 г., 23:51 пользователь Nikolay Mishin написал: > Дорогие перломаны и перлознаи, как любил говорить мой хороший знакомый, > Приходит мне на вход строка ( > https://github.com/mishin/presentation/blob/master/show_utf.pl) > вида > \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) > - (так utf экспортируется в dsx в IBM Datastage) > ну я ее преобразую к виду > \x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b} > > my $utf_str_2 = > "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; > $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; > > вот код > > #!/usr/bin/env perl > use utf8; > use Modern::Perl; > use Encode::Locale; > use Data::Dumper qw( Dumper ); > if (-t) { > binmode( STDIN, ":encoding(console_in)" ); > binmode( STDOUT, ":encoding(console_out)" ); > binmode( STDERR, ":encoding(console_out)" ); > } > my $love = "Я люблю Перл"; > print Dumper ($love); > my $utf_str = > "\x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b}"; > $utf_str =~ s/\\x\{(\w+)\}/\($1)/g; > say "$utf_str"; > my $utf_str_2 = > "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; > $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; > say 1; > say $utf_str_2; > но интересно, что если > у тебя есть строка > $a="\x{42f}"; > say $a; > то say выведет "Я" > но если > у тебя происходят преобразования > и сама строка становится > "\x{42f}" после > $a="\(42f)"; > $a =~ s/\((\w+)\)/\\x{$1}/g; > то > say $a; > выводит "\x{42f}" > вопрос (тем, кто дочитал;)) > как сделать так, чтобы напечаталась "Я" ?? > > спасибо > > -- > С уважением > Николай Мишин > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > -- Ksenia Bobrova Senior Perl Developer ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From artur+moscow.pm.org на niif.spb.su Mon Oct 13 13:06:57 2014 From: artur+moscow.pm.org на niif.spb.su (artur+moscow.pm.org на niif.spb.su) Date: Tue, 14 Oct 2014 00:06:57 +0400 Subject: [Moscow.pm] utf8 In-Reply-To: <1846591413229899@web24o.yandex.ru> References: <1846591413229899@web24o.yandex.ru> Message-ID: <1947491413230817@web27g.yandex.ru> 13.10.2014, 23:51, "Nikolay Mishin" : > Дорогие перломаны и перлознаи, как любил говорить мой хороший знакомый, > Приходит мне на вход строка (https://github.com/mishin/presentation/blob/master/show_utf.pl) > вида > \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) > - (так utf экспортируется в dsx в IBM Datastage) > ну я ее преобразую к виду > \x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b} > > my $utf_str_2 = >   "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; > $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; > > вот код > > #!/usr/bin/env perl > use utf8; > use Modern::Perl; > use Encode::Locale; > use Data::Dumper qw( Dumper ); > if (-t) { > binmode( STDIN, ":encoding(console_in)" ); > binmode( STDOUT, ":encoding(console_out)" ); > binmode( STDERR, ":encoding(console_out)" ); > } > my $love = "Я люблю Перл"; > print Dumper ($love); > my $utf_str = > "\x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b}"; > $utf_str =~ s/\\x\{(\w+)\}/\($1)/g; > say "$utf_str"; > my $utf_str_2 = > "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; > $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; > say 1; > say $utf_str_2; > но интересно, что если > у тебя есть строка > $a="\x{42f}"; > say $a; > то say выведет "Я" > но если > у тебя происходят преобразования > и сама строка становится > "\x{42f}" после > $a="\(42f)"; > $a =~ s/\((\w+)\)/\\x{$1}/g; > то > say $a; > выводит "\x{42f}" > вопрос (тем, кто дочитал;)) > как сделать так, чтобы напечаталась "Я" ?? # perl -CSA -lnpe 's#\\\((...)\)#chr(hex$1)#gsme' \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) Я люблю Перл -- wbw, artur From mi на ya.ru Mon Oct 13 13:18:10 2014 From: mi на ya.ru (Nikolay Mishin) Date: Tue, 14 Oct 2014 00:18:10 +0400 Subject: [Moscow.pm] utf8 In-Reply-To: <1947491413230817@web27g.yandex.ru> References: <1846591413229899@web24o.yandex.ru> <1947491413230817@web27g.yandex.ru> Message-ID: <1989171413231490@web16h.yandex.ru> клевая конструкция -CSA а что это? работает!! 14.10.2014, 00:07, "artur+moscow.pm.org на niif.spb.su" : > 13.10.2014, 23:51, "Nikolay Mishin" : >>  Дорогие перломаны и перлознаи, как любил говорить мой хороший знакомый, >>  Приходит мне на вход строка (https://github.com/mishin/presentation/blob/master/show_utf.pl) >>  вида >>  \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) >>  - (так utf экспортируется в dsx в IBM Datastage) >>  ну я ее преобразую к виду >>  \x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b} >> >>  my $utf_str_2 = >>    "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; >>  $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; >> >>  вот код >> >>  #!/usr/bin/env perl >>  use utf8; >>  use Modern::Perl; >>  use Encode::Locale; >>  use Data::Dumper qw( Dumper ); >>  if (-t) { >>  binmode( STDIN, ":encoding(console_in)" ); >>  binmode( STDOUT, ":encoding(console_out)" ); >>  binmode( STDERR, ":encoding(console_out)" ); >>  } >>  my $love = "Я люблю Перл"; >>  print Dumper ($love); >>  my $utf_str = >>  "\x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b}"; >>  $utf_str =~ s/\\x\{(\w+)\}/\($1)/g; >>  say "$utf_str"; >>  my $utf_str_2 = >>  "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; >>  $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; >>  say 1; >>  say $utf_str_2; >>  но интересно, что если >>  у тебя есть строка >>  $a="\x{42f}"; >>  say $a; >>  то say выведет "Я" >>  но если >>  у тебя происходят преобразования >>  и сама строка становится >>  "\x{42f}" после >>  $a="\(42f)"; >>  $a =~ s/\((\w+)\)/\\x{$1}/g; >>  то >>  say $a; >>  выводит "\x{42f}" >>  вопрос (тем, кто дочитал;)) >>  как сделать так, чтобы напечаталась "Я" ?? > >   # perl -CSA -lnpe 's#\\\((...)\)#chr(hex$1)#gsme' >   \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) >   Я люблю Перл > > -- > wbw, artur > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From artur+moscow.pm.org на niif.spb.su Mon Oct 13 13:23:35 2014 From: artur+moscow.pm.org на niif.spb.su (artur+moscow.pm.org на niif.spb.su) Date: Tue, 14 Oct 2014 00:23:35 +0400 Subject: [Moscow.pm] utf8 In-Reply-To: <1989171413231490@web16h.yandex.ru> References: <1846591413229899@web24o.yandex.ru> <1947491413230817@web27g.yandex.ru> <1989171413231490@web16h.yandex.ru> Message-ID: <1883651413231815@web27m.yandex.ru> 14.10.2014, 00:18, "Nikolay Mishin" : > клевая конструкция -CSA > а что это? Рассматривает STDIN, STDOUT, STDERR и @ARGV как utf8. > работает!! > > 14.10.2014, 00:07, "artur+moscow.pm.org на niif.spb.su" : >>  13.10.2014, 23:51, "Nikolay Mishin" : >>>   Дорогие перломаны и перлознаи, как любил говорить мой хороший знакомый, >>>   Приходит мне на вход строка (https://github.com/mishin/presentation/blob/master/show_utf.pl) >>>   вида >>>   \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) >>>   - (так utf экспортируется в dsx в IBM Datastage) >>>   ну я ее преобразую к виду >>>   \x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b} >>> >>>   my $utf_str_2 = >>>     "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; >>>   $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; >>> >>>   вот код >>> >>>   #!/usr/bin/env perl >>>   use utf8; >>>   use Modern::Perl; >>>   use Encode::Locale; >>>   use Data::Dumper qw( Dumper ); >>>   if (-t) { >>>   binmode( STDIN, ":encoding(console_in)" ); >>>   binmode( STDOUT, ":encoding(console_out)" ); >>>   binmode( STDERR, ":encoding(console_out)" ); >>>   } >>>   my $love = "Я люблю Перл"; >>>   print Dumper ($love); >>>   my $utf_str = >>>   "\x{42f} \x{43b}\x{44e}\x{431}\x{43b}\x{44e} \x{41f}\x{435}\x{440}\x{43b}"; >>>   $utf_str =~ s/\\x\{(\w+)\}/\($1)/g; >>>   say "$utf_str"; >>>   my $utf_str_2 = >>>   "\(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b)"; >>>   $utf_str_2 =~ s/\((\w+)\)/\\x{$1}/g; >>>   say 1; >>>   say $utf_str_2; >>>   но интересно, что если >>>   у тебя есть строка >>>   $a="\x{42f}"; >>>   say $a; >>>   то say выведет "Я" >>>   но если >>>   у тебя происходят преобразования >>>   и сама строка становится >>>   "\x{42f}" после >>>   $a="\(42f)"; >>>   $a =~ s/\((\w+)\)/\\x{$1}/g; >>>   то >>>   say $a; >>>   выводит "\x{42f}" >>>   вопрос (тем, кто дочитал;)) >>>   как сделать так, чтобы напечаталась "Я" ?? >>    # perl -CSA -lnpe 's#\\\((...)\)#chr(hex$1)#gsme' >>    \(42f) \(43b)\(44e)\(431)\(43b)\(44e) \(41f)\(435)\(440)\(43b) >>    Я люблю Перл >> >>  -- >>  wbw, artur >>  -- >>  Moscow.pm mailing list >>  moscow-pm на pm.org | http://moscow.pm.org > > -- > С уважением > Николай Мишин > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- wbw, artur From a на lelf.me Tue Oct 14 09:36:10 2014 From: a на lelf.me (Antonio Nikishaev) Date: Tue, 14 Oct 2014 20:36:10 +0400 Subject: [Moscow.pm] =?windows-1251?b?8fLw4O3t7vHy6CDu6vDz4+vl7ej/IOggc3Jh?= =?windows-1251?q?nd?= In-Reply-To: References: Message-ID: Вычислять/не вычислять тут совершенно не в тему. Поведение разное из-за того что то ваше число ? большое и последняя цифра в целой части оказывается последней значещей. srand научили уметь ругаться на переполнение аргумента, в этот момент (впрочем я точно не смотрел) скорее всего и изменили механизм его передачи: Betty:perl lelf$ perl -E 'say $^V; for my $x (1e13+.9, 1e14+.9) { say "$x"; say int $x; say srand($x); say srand("$x") }' v5.16.2 10000000000000.9 10000000000000 10000000000000 10000000000000 100000000000001 100000000000000 100000000000000 100000000000001 v5.20.0 10000000000000.9 10000000000000 10000000000000 10000000000000 100000000000001 100000000000000 100000000000001 100000000000001 On 2 Oct 2014, at 14:18, Вадим Власов wrote: > Ну да, про truncate понятно, не понятно, почему в 5.18 в нашем случае в большую сторону округляет. > При этом, если явно подставить дробное число, тоже транкейтит, так же как и в 5.14: > > [scripter на dev-vbox:~]$ perl -v | fgrep version && perl -E 'srand(3.9); say rand' > This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi > 0.783234962103055 > > scripter на work-desktop:~$ perl -v | fgrep version && perl -E 'srand(3.9); say rand' > This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi > 0.783234962103055 > > > И даже если вычислять аргумент, все равно идентичное поведение: > > [scripter на dev-vbox:~]$ perl -v | fgrep version && perl -E 'srand(7.8/2); say rand' > This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi > 0.783234962103055 > > scripter на work-desktop:~$ perl -v | fgrep version && perl -E 'srand(7.8/2); say rand' > This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi > 0.783234962103055 > > > 2 октября 2014 г., 13:15 пользователь Victor Efimov написал: > в perldoc > == > Most implementations of srand take an integer and will silently > truncate decimal numbers. This means srand(42) will usually produce > the same results as srand(42.1). To be safe, always pass srand an > integer. > == > > p.s. мучался с предсказуемыми последовательностями псевдослучайных > чисел - советовали другой генератор > http://perlmonks.org/?node_id=1054438 > > > 2 октября 2014 г., 13:05 пользователь Вадим Власов > написал: > > Привет всем, столкнулись со странным эффектом в 5.18 > > > > [scripter на dev-vbox:~]$ perl -v | fgrep ver > > This is perl 5, version 14, subversion 2 (v5.14.2) built for > > x86_64-linux-gnu-thread-multi > > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd + 1.55 > > * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' > > 324528000469816 > > 324528000469815 > > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * $dd + > > 1.55 * $dd + 59.3 ); say rand()' > > 0.261590199385868 > > [scripter на dev-vbox:~]$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * $dd > > + 1.55 * $dd + 59.3) ); say rand()' > > 0.261590199385868 > > > > В 5.14 аргумент srand приводится к целому с отбраыванием дробной части, так > > же как с int. > > > > > > scripter на work-desktop:~$ perl -v | fgrep ver > > This is perl 5, version 18, subversion 2 (v5.18.2) built for > > x86_64-linux-gnu-thread-multi > > scripter на work-desktop:~$ perl -E '$dd = "20141002"; say 0.8 * $dd * $dd + > > 1.55 * $dd + 59.3; say int( 0.8 * $dd * $dd + 1.55 * $dd + 59.3 );' > > 324528000469816 > > 324528000469815 > > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( 0.8 * $dd * $dd + > > 1.55 * $dd + 59.3 ); say rand()' > > 0.132392508051456 > > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * > > $dd + 1.55 * $dd + 59.3) ); say rand()' > > 0.261590199385868 > > scripter на work-desktop:~$ perl -E '$dd = "20141002"; srand( int(0.8 * $dd * > > $dd + 1.55 * $dd + 59.3)+1 ); say rand()' > > 0.132392508051456 > > > > А в 5.18 округляется, так же как при выводе. Почему так? Такое поведение > > описано где-то? > > > > -- > > С уважением, > > Вадим Власов > > т.: +7 (916) 424-00-72 > > > > -- > > Moscow.pm mailing list > > moscow-pm на pm.org | http://moscow.pm.org > > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > > > -- > С уважением, > Вадим Власов > т.: +7 (916) 424-00-72 > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From devrow на gmail.com Wed Oct 15 12:35:09 2014 From: devrow на gmail.com (devrow на gmail.com) Date: Wed, 15 Oct 2014 23:35:09 +0400 Subject: [Moscow.pm] deep recursion on subroutine utf8::swashnen Message-ID: <543ECC6D.7060608@gmail.com> всем привет. вопрос чисто академический, просто интересно. $self->{key} = ''; return undef if $self->{key2}->getValue('section', 'value_name') == 0 my $var = undef; этот код генерит сабжевую ошибку. скорее всего, я чего-то не знаю, т.к. в этом куске, по контексту, ошибка синтаксическая (нет ; во второй строке), но никак не конвертации чего-то во что-то и тем более я никак не предполагал о "грубокой рекурсии". этот кусок находится в модуле (pm), который подружается через use. модуль начинается стандартно: package name; use utf8; use strict; use warnings; ... глюк нашел вопрошая вселенную. голоса ближайшего к нам космоса ответили. после применения метода научного тыка. спс. From sergey.aleynikov на gmail.com Wed Oct 15 12:57:44 2014 From: sergey.aleynikov на gmail.com (Sergey Aleynikov) Date: Wed, 15 Oct 2014 23:57:44 +0400 Subject: [Moscow.pm] deep recursion on subroutine utf8::swashnen In-Reply-To: <543ECC6D.7060608@gmail.com> References: <543ECC6D.7060608@gmail.com> Message-ID: Добрый день, Перл 5.20 эту ошибку на этом куске кода не генерирует. Чтобы можно было что-то подсказать - нужна версия перла и тест-кейс, который можно взять и запустить. Best regards, Sergey Aleynikov 15 октября 2014 г., 23:35 пользователь devrow на gmail.com написал: > всем привет. > вопрос чисто академический, просто интересно. > > $self->{key} = ''; > return undef if $self->{key2}->getValue('section', 'value_name') == 0 > my $var = undef; > > этот код генерит сабжевую ошибку. скорее всего, я чего-то не знаю, > т.к. в этом куске, по контексту, ошибка синтаксическая (нет ; во > второй строке), но никак не конвертации чего-то во что-то и тем более > я никак не предполагал о "грубокой рекурсии". > > этот кусок находится в модуле (pm), который подружается через use. > модуль начинается стандартно: > > package name; > use utf8; > use strict; > use warnings; > ... > > глюк нашел вопрошая вселенную. голоса ближайшего к нам > космоса ответили. после применения метода научного тыка. > > спс. > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From devrow на gmail.com Thu Oct 16 02:18:13 2014 From: devrow на gmail.com (devrow на gmail.com) Date: Thu, 16 Oct 2014 13:18:13 +0400 Subject: [Moscow.pm] deep recursion on subroutine utf8::swashnen In-Reply-To: References: <543ECC6D.7060608@gmail.com> Message-ID: <543F8D55.8080307@gmail.com> дело не в куске кода, это не так важно. вопрос был о том (извиняюсь, если я не точно выразился), что происходит, когда вылетает ошибка рекурсии до того как парсер "пройдет" по коду и найдет ошибку в синтаксисе. логично было бы предположить, что сначала должен отработать парсер и выявить отсутствие точки с запятой, а уже потом, при выполнении, будет ошибка рекурсии. если натравить perl -c ./path/to/package.pm на этот модуль, то ошибка синтаксиса находится без проблем. почему она не находится в процессе подгрузки модулей, а вместо этого получается что-то там про рекурсию... спасибо. [root на localhost /]# perl -v This is perl, v5.10.1 (*) built for i386-linux-thread-multi On 15.10.2014 23:57, Sergey Aleynikov wrote: > Добрый день, > > Перл 5.20 эту ошибку на этом куске кода не генерирует. Чтобы можно > было что-то подсказать - нужна версия перла и тест-кейс, который можно > взять и запустить. > > Best regards, > Sergey Aleynikov > > > 15 октября 2014 г., 23:35 пользователь devrow на gmail.com > написал: >> всем привет. >> вопрос чисто академический, просто интересно. >> >> $self->{key} = ''; >> return undef if $self->{key2}->getValue('section', 'value_name') == 0 >> my $var = undef; >> >> этот код генерит сабжевую ошибку. скорее всего, я чего-то не знаю, >> т.к. в этом куске, по контексту, ошибка синтаксическая (нет ; во >> второй строке), но никак не конвертации чего-то во что-то и тем более >> я никак не предполагал о "грубокой рекурсии". >> >> этот кусок находится в модуле (pm), который подружается через use. >> модуль начинается стандартно: >> >> package name; >> use utf8; >> use strict; >> use warnings; >> ... >> >> глюк нашел вопрошая вселенную. голоса ближайшего к нам >> космоса ответили. после применения метода научного тыка. >> >> спс. >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org From victor на vsespb.ru Thu Oct 16 02:34:01 2014 From: victor на vsespb.ru (Victor Efimov) Date: Thu, 16 Oct 2014 13:34:01 +0400 Subject: [Moscow.pm] deep recursion on subroutine utf8::swashnen In-Reply-To: <543F8D55.8080307@gmail.com> References: <543ECC6D.7060608@gmail.com> <543F8D55.8080307@gmail.com> Message-ID: Всё равно нужен кусок код, чтобы это нам хотя бы воспроизвести, а потом уже рассуждать.. 16 октября 2014 г., 13:18 пользователь devrow на gmail.com написал: > дело не в куске кода, это не так важно. > вопрос был о том (извиняюсь, если я не точно выразился), > что происходит, когда вылетает ошибка рекурсии до того как > парсер "пройдет" по коду и найдет ошибку в синтаксисе. > > логично было бы предположить, что сначала должен отработать > парсер и выявить отсутствие точки с запятой, а уже потом, > при выполнении, будет ошибка рекурсии. > > если натравить perl -c ./path/to/package.pm на этот модуль, > то ошибка синтаксиса находится без проблем. почему она не > находится в процессе подгрузки модулей, а вместо этого > получается что-то там про рекурсию... > > спасибо. > > [root на localhost /]# perl -v > This is perl, v5.10.1 (*) built for i386-linux-thread-multi > > On 15.10.2014 23:57, Sergey Aleynikov wrote: >> Добрый день, >> >> Перл 5.20 эту ошибку на этом куске кода не генерирует. Чтобы можно >> было что-то подсказать - нужна версия перла и тест-кейс, который можно >> взять и запустить. >> >> Best regards, >> Sergey Aleynikov >> >> >> 15 октября 2014 г., 23:35 пользователь devrow на gmail.com >> написал: >>> всем привет. >>> вопрос чисто академический, просто интересно. >>> >>> $self->{key} = ''; >>> return undef if $self->{key2}->getValue('section', 'value_name') == 0 >>> my $var = undef; >>> >>> этот код генерит сабжевую ошибку. скорее всего, я чего-то не знаю, >>> т.к. в этом куске, по контексту, ошибка синтаксическая (нет ; во >>> второй строке), но никак не конвертации чего-то во что-то и тем более >>> я никак не предполагал о "грубокой рекурсии". >>> >>> этот кусок находится в модуле (pm), который подружается через use. >>> модуль начинается стандартно: >>> >>> package name; >>> use utf8; >>> use strict; >>> use warnings; >>> ... >>> >>> глюк нашел вопрошая вселенную. голоса ближайшего к нам >>> космоса ответили. после применения метода научного тыка. >>> >>> спс. >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From akovbovich на gmail.com Thu Oct 16 08:57:36 2014 From: akovbovich на gmail.com (Andrey Kovbovich) Date: Thu, 16 Oct 2014 19:57:36 +0400 Subject: [Moscow.pm] Can't locate object method "initialize" Message-ID: Кто-нибудь встречал что-то подобное? Запущено под модперлом, perl 5.14.4 Can't locate object method "initialize" via package "Class::MOP::Class::Immutable::Class::MOP::Class" Падает тут Class/MOP/Method/Meta.pm:41 $metaclass->initialize(blessed($_[0]) || $_[0]) *...* *client code*my $nt = Net::Twitter->new( В шелле все ок Что ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From cub.uanic на gmail.com Thu Oct 16 14:35:36 2014 From: cub.uanic на gmail.com (Oleg Kostyuk) Date: Fri, 17 Oct 2014 00:35:36 +0300 Subject: [Moscow.pm] Can't locate object method "initialize" In-Reply-To: References: Message-ID: Было нечто подобное, правда перл/модперл подревнее. Решилось "влоб" добавлением таких модулей в startup.pl. Причину не искал, так что деталей не расскажу. 2014-10-16 18:57 GMT+03:00 Andrey Kovbovich : > Кто-нибудь встречал что-то подобное? Запущено под модперлом, perl 5.14.4 > > > Can't locate object method "initialize" via package "Class::MOP::Class::Immutable::Class::MOP::Class" > > Падает тут > Class/MOP/Method/Meta.pm:41 > $metaclass->initialize(blessed($_[0]) || $_[0]) > *...* > > *client code*my $nt = Net::Twitter->new( > > В шелле все ок > > Что > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- Sincerely yours, Oleg Kostyuk (CUB-UANIC) ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mi на ya.ru Tue Oct 21 12:23:36 2014 From: mi на ya.ru (Nikolay Mishin) Date: Tue, 21 Oct 2014 23:23:36 +0400 Subject: [Moscow.pm] Golf In-Reply-To: References: Message-ID: <1439841413919416@web8m.yandex.ru> Всем привет, перевел https://github.com/mishin/perlsecret/blob/master/lib/perlsecret.ru.pod на русский секретные операторы, несмотря на 1000 строк, переводить было весело, много всякой пошлятины ну сальностей, но смешно и переводить было весело, теперь осталось порешать задачку;) 03.10.2014, 16:54, "Павел Щербинин" : > Да начнется битва языков!)) > > http://habrahabr.ru/company/mailru/blog/239087/ > > -- > С Уважением, > Щербинин Павел > > , > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org -- С уважением Николай Мишин From devrow на gmail.com Sat Oct 25 08:01:26 2014 From: devrow на gmail.com (devrow на gmail.com) Date: Sat, 25 Oct 2014 19:01:26 +0400 Subject: [Moscow.pm] deep recursion on subroutine utf8::swashnen In-Reply-To: References: <543ECC6D.7060608@gmail.com> <543F8D55.8080307@gmail.com> Message-ID: <544BBB46.6040503@gmail.com> On 16.10.2014 13:34, Victor Efimov wrote: > Всё равно нужен кусок код, чтобы это нам хотя бы воспроизвести, а > потом уже рассуждать.. кусок кода для примера я приводил. + к этому писал, что парсер отсутствие точки с запятой ловит без проблем, когда, цитирую себя же: "если натравить perl -c ./path/to/package.pm на этот модуль, то ошибка синтаксиса находится без проблем." был бы благодарен хотя бы за наводки на то, что может происходить или не должно, но происходит, т.к. понимаю, что нужно целиком проект запостить, но такой возможности у меня нет. повторюсь: интересует именно в какой очередности происходит подключение/интерпретация модулей и как это связано с use utf8, что сначала: стулья или деньги ) > > 16 октября 2014 г., 13:18 пользователь devrow на gmail.com > написал: >> дело не в куске кода, это не так важно. >> вопрос был о том (извиняюсь, если я не точно выразился), >> что происходит, когда вылетает ошибка рекурсии до того как >> парсер "пройдет" по коду и найдет ошибку в синтаксисе. >> >> логично было бы предположить, что сначала должен отработать >> парсер и выявить отсутствие точки с запятой, а уже потом, >> при выполнении, будет ошибка рекурсии. >> >> если натравить perl -c ./path/to/package.pm на этот модуль, >> то ошибка синтаксиса находится без проблем. почему она не >> находится в процессе подгрузки модулей, а вместо этого >> получается что-то там про рекурсию... >> >> спасибо. >> >> [root на localhost /]# perl -v >> This is perl, v5.10.1 (*) built for i386-linux-thread-multi >> >> On 15.10.2014 23:57, Sergey Aleynikov wrote: >>> Добрый день, >>> >>> Перл 5.20 эту ошибку на этом куске кода не генерирует. Чтобы можно >>> было что-то подсказать - нужна версия перла и тест-кейс, который можно >>> взять и запустить. >>> >>> Best regards, >>> Sergey Aleynikov >>> >>> >>> 15 октября 2014 г., 23:35 пользователь devrow на gmail.com >>> написал: >>>> всем привет. >>>> вопрос чисто академический, просто интересно. >>>> >>>> $self->{key} = ''; >>>> return undef if $self->{key2}->getValue('section', 'value_name') == 0 >>>> my $var = undef; >>>> >>>> этот код генерит сабжевую ошибку. скорее всего, я чего-то не знаю, >>>> т.к. в этом куске, по контексту, ошибка синтаксическая (нет ; во >>>> второй строке), но никак не конвертации чего-то во что-то и тем более >>>> я никак не предполагал о "грубокой рекурсии". >>>> >>>> этот кусок находится в модуле (pm), который подружается через use. >>>> модуль начинается стандартно: >>>> >>>> package name; >>>> use utf8; >>>> use strict; >>>> use warnings; >>>> ... >>>> >>>> глюк нашел вопрошая вселенную. голоса ближайшего к нам >>>> космоса ответили. после применения метода научного тыка. >>>> >>>> спс. >>>> -- >>>> Moscow.pm mailing list >>>> moscow-pm на pm.org | http://moscow.pm.org >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org From victor на vsespb.ru Sat Oct 25 08:27:13 2014 From: victor на vsespb.ru (Victor Efimov) Date: Sat, 25 Oct 2014 19:27:13 +0400 Subject: [Moscow.pm] deep recursion on subroutine utf8::swashnen In-Reply-To: <544BBB46.6040503@gmail.com> References: <543ECC6D.7060608@gmail.com> <543F8D55.8080307@gmail.com> <544BBB46.6040503@gmail.com> Message-ID: 25 октября 2014 г., 19:01 пользователь devrow на gmail.com написал: > On 16.10.2014 13:34, Victor Efimov wrote: >> Всё равно нужен кусок код, чтобы это нам хотя бы воспроизвести, а >> потом уже рассуждать.. > > кусок кода для примера я приводил. + к этому писал, что пример кода из первого поста === $self->{key} = ''; return undef if $self->{key2}->getValue('section', 'value_name') == 0 my $var = undef; === падает с ошибкой syntax error at 33.pl line 4, near "my " Execution of 33.pl aborted due to compilation errors. так что не годится. > парсер отсутствие точки с запятой ловит без проблем, когда, > цитирую себя же: "если натравить perl -c ./path/to/package.pm > на этот модуль, то ошибка синтаксиса находится без проблем." > > был бы благодарен хотя бы за наводки на то, что может > происходить или не должно, но происходит, т.к. понимаю, что > нужно целиком проект запостить, но такой возможности у меня > нет. целиком не нужно. нужно взять проект и упрощать его постепенно до незвисимого, простого примера кода, который любой сможет запустить. это, кстати, самая сложная часть, возможно проблему найдёте сами =) иначе, просто всё это "deep recursion on subroutine utf8::swashnen" "этот код генерит сабжевую ошибку." "модуль начинается стандартно:" выглядит как FUD. если ошибку так легко воспроизвести - Вам не должно составить труда прислать пример кода. > > повторюсь: интересует именно в какой очередности происходит > подключение/интерпретация модулей и как это связано с use > utf8, что сначала: стулья или деньги ) > >> >> 16 октября 2014 г., 13:18 пользователь devrow на gmail.com >> написал: >>> дело не в куске кода, это не так важно. >>> вопрос был о том (извиняюсь, если я не точно выразился), >>> что происходит, когда вылетает ошибка рекурсии до того как >>> парсер "пройдет" по коду и найдет ошибку в синтаксисе. >>> >>> логично было бы предположить, что сначала должен отработать >>> парсер и выявить отсутствие точки с запятой, а уже потом, >>> при выполнении, будет ошибка рекурсии. >>> >>> если натравить perl -c ./path/to/package.pm на этот модуль, >>> то ошибка синтаксиса находится без проблем. почему она не >>> находится в процессе подгрузки модулей, а вместо этого >>> получается что-то там про рекурсию... >>> >>> спасибо. >>> >>> [root на localhost /]# perl -v >>> This is perl, v5.10.1 (*) built for i386-linux-thread-multi >>> >>> On 15.10.2014 23:57, Sergey Aleynikov wrote: >>>> Добрый день, >>>> >>>> Перл 5.20 эту ошибку на этом куске кода не генерирует. Чтобы можно >>>> было что-то подсказать - нужна версия перла и тест-кейс, который можно >>>> взять и запустить. >>>> >>>> Best regards, >>>> Sergey Aleynikov >>>> >>>> >>>> 15 октября 2014 г., 23:35 пользователь devrow на gmail.com >>>> написал: >>>>> всем привет. >>>>> вопрос чисто академический, просто интересно. >>>>> >>>>> $self->{key} = ''; >>>>> return undef if $self->{key2}->getValue('section', 'value_name') == 0 >>>>> my $var = undef; >>>>> >>>>> этот код генерит сабжевую ошибку. скорее всего, я чего-то не знаю, >>>>> т.к. в этом куске, по контексту, ошибка синтаксическая (нет ; во >>>>> второй строке), но никак не конвертации чего-то во что-то и тем более >>>>> я никак не предполагал о "грубокой рекурсии". >>>>> >>>>> этот кусок находится в модуле (pm), который подружается через use. >>>>> модуль начинается стандартно: >>>>> >>>>> package name; >>>>> use utf8; >>>>> use strict; >>>>> use warnings; >>>>> ... >>>>> >>>>> глюк нашел вопрошая вселенную. голоса ближайшего к нам >>>>> космоса ответили. после применения метода научного тыка. >>>>> >>>>> спс. >>>>> -- >>>>> Moscow.pm mailing list >>>>> moscow-pm на pm.org | http://moscow.pm.org >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org From devrow на gmail.com Sat Oct 25 09:02:23 2014 From: devrow на gmail.com (devrow на gmail.com) Date: Sat, 25 Oct 2014 20:02:23 +0400 Subject: [Moscow.pm] deep recursion on subroutine utf8::swashnen In-Reply-To: References: <543ECC6D.7060608@gmail.com> <543F8D55.8080307@gmail.com> <544BBB46.6040503@gmail.com> Message-ID: <544BC98F.6020508@gmail.com> ну да, падает, ведь "если натравить perl -c ./path/to/package.pm на этот модуль, то ошибка синтаксиса находится без проблем." On 25.10.2014 19:27, Victor Efimov wrote: > 25 октября 2014 г., 19:01 пользователь devrow на gmail.com > написал: >> On 16.10.2014 13:34, Victor Efimov wrote: >>> Всё равно нужен кусок код, чтобы это нам хотя бы воспроизвести, а >>> потом уже рассуждать.. >> >> кусок кода для примера я приводил. + к этому писал, что > > пример кода из первого поста > === > $self->{key} = ''; > return undef if $self->{key2}->getValue('section', 'value_name') == 0 > my $var = undef; > === > падает с ошибкой > > syntax error at 33.pl line 4, near "my " > Execution of 33.pl aborted due to compilation errors. > > так что не годится. > >> парсер отсутствие точки с запятой ловит без проблем, когда, >> цитирую себя же: "если натравить perl -c ./path/to/package.pm >> на этот модуль, то ошибка синтаксиса находится без проблем." >> >> был бы благодарен хотя бы за наводки на то, что может >> происходить или не должно, но происходит, т.к. понимаю, что >> нужно целиком проект запостить, но такой возможности у меня >> нет. > > целиком не нужно. нужно взять проект и упрощать его постепенно до > незвисимого, простого примера кода, который любой сможет запустить. > это, кстати, самая сложная часть, возможно проблему найдёте сами =) > > иначе, просто всё это > > "deep recursion on subroutine utf8::swashnen" > "этот код генерит сабжевую ошибку." > "модуль начинается стандартно:" > > выглядит как FUD. если ошибку так легко воспроизвести - Вам не должно > составить труда прислать пример кода. > > > >> >> повторюсь: интересует именно в какой очередности происходит >> подключение/интерпретация модулей и как это связано с use >> utf8, что сначала: стулья или деньги ) >> >>> >>> 16 октября 2014 г., 13:18 пользователь devrow на gmail.com >>> написал: >>>> дело не в куске кода, это не так важно. >>>> вопрос был о том (извиняюсь, если я не точно выразился), >>>> что происходит, когда вылетает ошибка рекурсии до того как >>>> парсер "пройдет" по коду и найдет ошибку в синтаксисе. >>>> >>>> логично было бы предположить, что сначала должен отработать >>>> парсер и выявить отсутствие точки с запятой, а уже потом, >>>> при выполнении, будет ошибка рекурсии. >>>> >>>> если натравить perl -c ./path/to/package.pm на этот модуль, >>>> то ошибка синтаксиса находится без проблем. почему она не >>>> находится в процессе подгрузки модулей, а вместо этого >>>> получается что-то там про рекурсию... >>>> >>>> спасибо. >>>> >>>> [root на localhost /]# perl -v >>>> This is perl, v5.10.1 (*) built for i386-linux-thread-multi >>>> >>>> On 15.10.2014 23:57, Sergey Aleynikov wrote: >>>>> Добрый день, >>>>> >>>>> Перл 5.20 эту ошибку на этом куске кода не генерирует. Чтобы можно >>>>> было что-то подсказать - нужна версия перла и тест-кейс, который можно >>>>> взять и запустить. >>>>> >>>>> Best regards, >>>>> Sergey Aleynikov >>>>> >>>>> >>>>> 15 октября 2014 г., 23:35 пользователь devrow на gmail.com >>>>> написал: >>>>>> всем привет. >>>>>> вопрос чисто академический, просто интересно. >>>>>> >>>>>> $self->{key} = ''; >>>>>> return undef if $self->{key2}->getValue('section', 'value_name') == 0 >>>>>> my $var = undef; >>>>>> >>>>>> этот код генерит сабжевую ошибку. скорее всего, я чего-то не знаю, >>>>>> т.к. в этом куске, по контексту, ошибка синтаксическая (нет ; во >>>>>> второй строке), но никак не конвертации чего-то во что-то и тем более >>>>>> я никак не предполагал о "грубокой рекурсии". >>>>>> >>>>>> этот кусок находится в модуле (pm), который подружается через use. >>>>>> модуль начинается стандартно: >>>>>> >>>>>> package name; >>>>>> use utf8; >>>>>> use strict; >>>>>> use warnings; >>>>>> ... >>>>>> >>>>>> глюк нашел вопрошая вселенную. голоса ближайшего к нам >>>>>> космоса ответили. после применения метода научного тыка. >>>>>> >>>>>> спс. >>>>>> -- >>>>>> Moscow.pm mailing list >>>>>> moscow-pm на pm.org | http://moscow.pm.org >>>> -- >>>> Moscow.pm mailing list >>>> moscow-pm на pm.org | http://moscow.pm.org >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org From khrt на ya.ru Fri Oct 31 13:09:39 2014 From: khrt на ya.ru (Artur Kh) Date: Fri, 31 Oct 2014 22:09:39 +0200 Subject: [Moscow.pm] __PACKAGE__ namespace Message-ID: Привет, возникла необходимость хранить данные в переменной внутри модуля довольно необычным способом. Примерно так, как это делается в DBIx::Class когда описывается модель. Вот пример: use strict; use warnings; use feature 'say'; package BasePackage; my @STORAGE = ('key9'); sub add {     my ($class, $key) = @_;     say "add $class <- $key";     push @class::STORAGE, $key; } sub list {     my $class = shift;     my @data = @class::STORAGE;     print "$class: ";     local $, = ',';     say @data; } package FirstPackage; our @ISA = ('BasePackage'); __PACKAGE__->add('key0'); __PACKAGE__->add('key1'); package SecondPackage; our @ISA = ('BasePackage'); __PACKAGE__->add('key2'); __PACKAGE__->add('key3'); package main; FirstPackage->list; SecondPackage->list; 1; И вот вывод: $ perl package.pl add FirstPackage <- key0 add FirstPackage <- key1 add SecondPackage <- key2 add SecondPackage <- key3 FirstPackage: key0,key1,key2,key3 SecondPackage: key0,key1,key2,key3 Как видно набор значений выводится идентичный для обоих модулей, хотя задумывалось иначе. Вот это я ожидал увидеть: FirstPackage: key0,key1 SecondPackage: key2,key3 Как мне получить на выходе ожидаемый вывод? --  ak -------------- next part -------------- An HTML attachment was scrubbed... URL: From secrethost на gmail.com Fri Oct 31 13:43:51 2014 From: secrethost на gmail.com (=?UTF-8?B?0JDQvdC00YDQtdC5INCk0ZHQtNC+0YDQvtCy?=) Date: Sat, 1 Nov 2014 00:43:51 +0400 Subject: [Moscow.pm] __PACKAGE__ namespace In-Reply-To: References: Message-ID: @class::STORAGE - обращение к переменной @STORAGE в модуле 'class' Чтобы обратиться к переменной в нужном классе, можно заменить на no strict 'refs'; push @{"${class}::STORAGE"}, $key; 2014-10-31 23:09 GMT+03:00 Artur Kh : > Привет, > > возникла необходимость хранить данные в переменной внутри модуля довольно > необычным способом. Примерно так, как это делается в DBIx::Class когда > описывается модель. > > Вот пример: > > use strict; > use warnings; > > use feature 'say'; > > package BasePackage; > > my @STORAGE = ('key9'); > > sub add { > my ($class, $key) = @_; > say "add $class <- $key"; > push @class::STORAGE, $key; > } > > sub list { > my $class = shift; > my @data = @class::STORAGE; > print "$class: "; > local $, = ','; > say @data; > } > > package FirstPackage; > > our @ISA = ('BasePackage'); > > __PACKAGE__->add('key0'); > __PACKAGE__->add('key1'); > > package SecondPackage; > > our @ISA = ('BasePackage'); > > __PACKAGE__->add('key2'); > __PACKAGE__->add('key3'); > > package main; > > FirstPackage->list; > SecondPackage->list; > > 1; > > И вот вывод: > > $ perl package.pl > add FirstPackage <- key0 > add FirstPackage <- key1 > add SecondPackage <- key2 > add SecondPackage <- key3 > FirstPackage: key0,key1,key2,key3 > SecondPackage: key0,key1,key2,key3 > > Как видно набор значений выводится идентичный для обоих модулей, хотя > задумывалось иначе. > > Вот это я ожидал увидеть: > > FirstPackage: key0,key1 > SecondPackage: key2,key3 > > Как мне получить на выходе ожидаемый вывод? > > -- > ak > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From bobrovaksenia на gmail.com Fri Oct 31 13:57:34 2014 From: bobrovaksenia на gmail.com (=?UTF-8?B?0JrRgdC10L3QuNGPINCR0L7QsdGA0L7QstCw?=) Date: Sat, 1 Nov 2014 00:57:34 +0400 Subject: [Moscow.pm] __PACKAGE__ namespace In-Reply-To: References: Message-ID: Можно еще eval использовать: eval("push \@{${class}::STORAGE}, \$key"); eval("\@data = \@{${class}::STORAGE}"); 1 ноября 2014 г., 0:43 пользователь Андрей Фёдоров написал: > @class::STORAGE - обращение к переменной @STORAGE в модуле 'class' > > Чтобы обратиться к переменной в нужном классе, можно заменить на > no strict 'refs'; > push @{"${class}::STORAGE"}, $key; > > 2014-10-31 23:09 GMT+03:00 Artur Kh : > >> Привет, >> >> возникла необходимость хранить данные в переменной внутри модуля довольно >> необычным способом. Примерно так, как это делается в DBIx::Class когда >> описывается модель. >> >> Вот пример: >> >> use strict; >> use warnings; >> >> use feature 'say'; >> >> package BasePackage; >> >> my @STORAGE = ('key9'); >> >> sub add { >> my ($class, $key) = @_; >> say "add $class <- $key"; >> push @class::STORAGE, $key; >> } >> >> sub list { >> my $class = shift; >> my @data = @class::STORAGE; >> print "$class: "; >> local $, = ','; >> say @data; >> } >> >> package FirstPackage; >> >> our @ISA = ('BasePackage'); >> >> __PACKAGE__->add('key0'); >> __PACKAGE__->add('key1'); >> >> package SecondPackage; >> >> our @ISA = ('BasePackage'); >> >> __PACKAGE__->add('key2'); >> __PACKAGE__->add('key3'); >> >> package main; >> >> FirstPackage->list; >> SecondPackage->list; >> >> 1; >> >> И вот вывод: >> >> $ perl package.pl >> add FirstPackage <- key0 >> add FirstPackage <- key1 >> add SecondPackage <- key2 >> add SecondPackage <- key3 >> FirstPackage: key0,key1,key2,key3 >> SecondPackage: key0,key1,key2,key3 >> >> Как видно набор значений выводится идентичный для обоих модулей, хотя >> задумывалось иначе. >> >> Вот это я ожидал увидеть: >> >> FirstPackage: key0,key1 >> SecondPackage: key2,key3 >> >> Как мне получить на выходе ожидаемый вывод? >> >> -- >> ak >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> >> > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > > -- Ksenia Bobrova Senior Perl Developer ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From anton.n.reznikov на gmail.com Fri Oct 31 16:06:48 2014 From: anton.n.reznikov на gmail.com (=?UTF-8?B?0JDQvdGC0L7QvSDQoNC10LfQvdC40LrQvtCy?=) Date: Sat, 1 Nov 2014 03:06:48 +0400 Subject: [Moscow.pm] __PACKAGE__ namespace In-Reply-To: References: Message-ID: Предложу пожалуй свой вариант: https://gist.github.com/17e/07879edf40c70d66599d anton на Currant:~$ perl /tmp/example.pl add FirstPackage <- key0 add FirstPackage <- key1 add SecondPackage <- key2 add SecondPackage <- key3 FirstPackage: key0,key1 SecondPackage: key2,key3 31 октября 2014 г., 23:57 пользователь Ксения Боброва написал: > Можно еще eval использовать: > > eval("push \@{${class}::STORAGE}, \$key"); > > eval("\@data = \@{${class}::STORAGE}"); > > > > 1 ноября 2014 г., 0:43 пользователь Андрей Фёдоров > написал: > >> @class::STORAGE - обращение к переменной @STORAGE в модуле 'class' >> >> Чтобы обратиться к переменной в нужном классе, можно заменить на >> no strict 'refs'; >> push @{"${class}::STORAGE"}, $key; >> >> 2014-10-31 23:09 GMT+03:00 Artur Kh : >>> >>> Привет, >>> >>> возникла необходимость хранить данные в переменной внутри модуля довольно >>> необычным способом. Примерно так, как это делается в DBIx::Class когда >>> описывается модель. >>> >>> Вот пример: >>> >>> use strict; >>> use warnings; >>> >>> use feature 'say'; >>> >>> package BasePackage; >>> >>> my @STORAGE = ('key9'); >>> >>> sub add { >>> my ($class, $key) = @_; >>> say "add $class <- $key"; >>> push @class::STORAGE, $key; >>> } >>> >>> sub list { >>> my $class = shift; >>> my @data = @class::STORAGE; >>> print "$class: "; >>> local $, = ','; >>> say @data; >>> } >>> >>> package FirstPackage; >>> >>> our @ISA = ('BasePackage'); >>> >>> __PACKAGE__->add('key0'); >>> __PACKAGE__->add('key1'); >>> >>> package SecondPackage; >>> >>> our @ISA = ('BasePackage'); >>> >>> __PACKAGE__->add('key2'); >>> __PACKAGE__->add('key3'); >>> >>> package main; >>> >>> FirstPackage->list; >>> SecondPackage->list; >>> >>> 1; >>> >>> И вот вывод: >>> >>> $ perl package.pl >>> add FirstPackage <- key0 >>> add FirstPackage <- key1 >>> add SecondPackage <- key2 >>> add SecondPackage <- key3 >>> FirstPackage: key0,key1,key2,key3 >>> SecondPackage: key0,key1,key2,key3 >>> >>> Как видно набор значений выводится идентичный для обоих модулей, хотя >>> задумывалось иначе. >>> >>> Вот это я ожидал увидеть: >>> >>> FirstPackage: key0,key1 >>> SecondPackage: key2,key3 >>> >>> Как мне получить на выходе ожидаемый вывод? >>> >>> -- >>> ak >>> >>> -- >>> Moscow.pm mailing list >>> moscow-pm на pm.org | http://moscow.pm.org >>> >> >> >> -- >> Moscow.pm mailing list >> moscow-pm на pm.org | http://moscow.pm.org >> > > > > -- > Ksenia Bobrova > Senior Perl Developer > > -- > Moscow.pm mailing list > moscow-pm на pm.org | http://moscow.pm.org > From khrt на ya.ru Fri Oct 31 23:28:24 2014 From: khrt на ya.ru (Artur Kh) Date: Sat, 1 Nov 2014 08:28:24 +0200 Subject: [Moscow.pm] __PACKAGE__ namespace In-Reply-To: References: Message-ID: Спасибо, так и есть, я потом сам увидел свою ошибку. Сделал именно так, как предложено здесь. --  ak From: Андрей Фёдоров Reply: Moscow.pm group > Date: 31 October 2014 at 22:44:38 To: Moscow.pm group > Subject:  Re: [Moscow.pm] __PACKAGE__ namespace @class::STORAGE - обращение к переменной @STORAGE в модуле 'class' Чтобы обратиться к переменной в нужном классе, можно заменить на no strict 'refs'; push @{"${class}::STORAGE"}, $key; 2014-10-31 23:09 GMT+03:00 Artur Kh : Привет, возникла необходимость хранить данные в переменной внутри модуля довольно необычным способом. Примерно так, как это делается в DBIx::Class когда описывается модель. Вот пример: use strict; use warnings; use feature 'say'; package BasePackage; my @STORAGE = ('key9'); sub add {     my ($class, $key) = @_;     say "add $class <- $key";     push @class::STORAGE, $key; } sub list {     my $class = shift;     my @data = @class::STORAGE;     print "$class: ";     local $, = ',';     say @data; } package FirstPackage; our @ISA = ('BasePackage'); __PACKAGE__->add('key0'); __PACKAGE__->add('key1'); package SecondPackage; our @ISA = ('BasePackage'); __PACKAGE__->add('key2'); __PACKAGE__->add('key3'); package main; FirstPackage->list; SecondPackage->list; 1; И вот вывод: $ perl package.pl add FirstPackage <- key0 add FirstPackage <- key1 add SecondPackage <- key2 add SecondPackage <- key3 FirstPackage: key0,key1,key2,key3 SecondPackage: key0,key1,key2,key3 Как видно набор значений выводится идентичный для обоих модулей, хотя задумывалось иначе. Вот это я ожидал увидеть: FirstPackage: key0,key1 SecondPackage: key2,key3 Как мне получить на выходе ожидаемый вывод? --  ak -- Moscow.pm mailing list moscow-pm на pm.org | http://moscow.pm.org -- Moscow.pm mailing list moscow-pm на pm.org | http://moscow.pm.org -------------- next part -------------- An HTML attachment was scrubbed... URL: