<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>On Perl</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/" />
    <link rel="self" type="application/atom+xml" href="http://onperl.ru/onperl/atom.xml" />
    <id>tag:onperl.ru,2009-08-12:/onperl/1</id>
    <updated>2010-03-10T15:14:51Z</updated>
    <subtitle>блог о языке программирования Perl и его сообществе</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.3</generator>

<entry>
    <title>Логотипчег YAPC::Europe 2010</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/03/logotipcheg.html" />
    <id>tag:onperl.ru,2010:/onperl//1.161</id>

    <published>2010-03-10T14:57:40Z</published>
    <updated>2010-03-10T15:14:51Z</updated>

    <summary><![CDATA[Несмотря на то, что проектирование интерфейсов — задача, которую програмисты не всегда решают успешно, картинка на новом сайте YAPC::Europe 2010 — великолепна. Тема конференции&nbsp;— The Renaissance of Perl, проходит она в Италии, и лук в стиле&nbsp;записок Леонардо Ди Каприо, — прекрасен. Да, а на ютубе (британцы говорят ючуб, кстати) есть ролик про качества перла....]]></summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Мероприятия" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="2010" label="2010" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="europe" label="europe" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fun" label="fun" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="yapceurope" label="yapc::europe" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Несмотря на то, что проектирование интерфейсов — задача, которую програмисты <a href="http://onperl.ru/onperl/2010/03/on-interfaces.html">не всегда решают успешно</a>, картинка на новом сайте <a href="http://yapceurope.org/2010">YAPC::Europe 2010</a> — великолепна.</p>
<p>Тема конференции&nbsp;— The Renaissance of Perl, проходит она в Италии, и лук в стиле&nbsp;записок Леонардо <strike>Ди Каприо</strike>, — прекрасен.</p>
<p align="center"><a href="http://yapceurope.org/2010"><img border="0" alt="YAPC::Europe 2010" src="http://img.onperl.ru/onion-leonardo.jpg" width="311" height="154" /></a></p>
<p>Да, а на ютубе (британцы говорят <em>ючуб</em>, кстати) есть <a href="http://www.youtube.com/watch?v=Nx7v815bYUw">ролик про качества перла</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>О программистах и интерфейсах</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/03/on-interfaces.html" />
    <id>tag:onperl.ru,2010:/onperl//1.160</id>

    <published>2010-03-06T08:47:46Z</published>
    <updated>2010-03-10T15:02:09Z</updated>

    <summary><![CDATA[Да здравствует перл! Этот блог работает на перле, но писали его неизвестные мне люди Я тут зашел куда-то в админской части, и увидел массу комментариев, которые, оказывается, висят неодобренными. :-O&nbsp; Часть я пооткрывал, а часть (ай!) удалил. Перл + юзабилити часто так же несовместимо, как и многие другие продукты, созданный программистами. И еще я забыл с собой зарядное устройство от телефона. А следующий пост будет про&nbsp;автобус номер один, которую начали обсуждать в комментах в прошлый раз....]]></summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Приложения" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="movabletype" label="movabletype" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Да здравствует перл! Этот блог работает на перле, но писали его неизвестные мне люди Я тут зашел куда-то в админской части, и увидел массу комментариев, которые, оказывается, висят неодобренными. :-O&nbsp;</p>
<p>Часть я пооткрывал, а часть (ай!) удалил. Перл + юзабилити часто так же несовместимо, как и многие другие продукты, созданный программистами.</p>
<p>И еще я забыл с собой зарядное устройство от телефона.</p>
<p>А следующий пост будет про&nbsp;<i>автобус номер один</i>, которую начали обсуждать в комментах в прошлый раз.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Голландский Perl-воркшоп 2010 года</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/03/gollandskij-perl-vorkshop-2010-goda.html" />
    <id>tag:onperl.ru,2010:/onperl//1.159</id>

    <published>2010-03-05T20:25:52Z</published>
    <updated>2010-03-06T21:42:48Z</updated>

    <summary>Только что вернулся в гостиницу с седьмого голландского Perl-воркшопа. Он проходил в хостеле Stayok в городе Арнеме. Это город в ста километрах от Амстердама, в часе езды электричкой (и еще полчаса от вокзала, то есть почти что московские расстояния от спальных районов до центра :-)Как всегда, я сразу обращаю внимание на посещаемость, и даже под вечер она была около 90 % — из 39 зарегистрированных посетителей я насчитал 35.Часть выступлений была на голланском языке (он напоминает смесь немецкого и английского с примесью французской картавости), поэтому все остальные, которые на английском, сразу стали вдвое интереснее :-)Особенно хорош был Мартин Берендз, сделавший...</summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Мероприятия" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Сообщество" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="arnhem" label="arnhem" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="netherlands" label="netherlands" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="workshop" label="workshop" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Только что вернулся в гостиницу с седьмого <a href="http://www.perlworkshop.nl/nlpw2010/">голландского Perl-воркшопа</a>. Он проходил в хостеле <a href="http://www.stayokay.com/index.php?pageID=3207&amp;hostelID=356025&amp;language=en">Stayok</a> в городе <a href="http://www.arnhem.nl/english">Арнеме</a>.</p>
<p>Это город <a href="http://whoyougle.ru/place/distance?from=Амстердам&amp;to=Арнем">в ста километрах от Амстердама</a>, в часе езды электричкой (и еще полчаса от вокзала, то есть почти что московские расстояния от спальных районов до центра :-)</p><p>Как всегда, я сразу обращаю внимание на посещаемость, и даже под вечер она была около 90 % — из 39 зарегистрированных посетителей я насчитал 35.</p><p>Часть выступлений была на голланском языке (он напоминает смесь немецкого и английского с примесью французской картавости), поэтому все остальные, которые на английском, сразу стали вдвое интереснее :-)</p><p>Особенно хорош был <a href="http://www.perlworkshop.nl/nlpw2010/user/4915">Мартин Берендз</a>, сделавший обзор интерпретаторов и компиляторов Perl 6, существующих в марте 2010 года. Мартин упомянул неофициальное понятие <i>bus number</i>, которое равно числу ведущих разработчиков проекта.</p><p><a href="http://www.perlworkshop.nl/nlpw2010/user/5015">Леон Тиммерманс</a> подкинул еще одну лингвошутку —&nbsp;<i>unintentional feature</i> (имеется в виду <i>баг</i>).</p><p>Через какое-то время должны появиться видеозаписи (их делали местные организаторы).</p><p align="center"><img src="http://img.onperl.ru/dpw-t-shirt.jpg" width="495" height="296" title="Dutch Perl Workshop 2010 T-shirt" /></p><p>А после обеда сначала пошел мокрый снег, а потом — к вечеру — дождь; электричку пришлось ждать полчаса; и я теперь весь промокшый, но довольный :-)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Perl 5.10 в 2010-м — части I и II</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/03/perl-510-v-2010-m-i-i-ii.html" />
    <id>tag:onperl.ru,2010:/onperl//1.158</id>

    <published>2010-03-04T20:59:02Z</published>
    <updated>2010-03-04T21:03:20Z</updated>

    <summary>Часть I История и статистика Perl 5.10 увидел свет в 20 день рождения языка — 18 декабря 2007 года. Уже прошло более двух лет, и за это время успели появиться девелоперские версии 5.11.0, 5.11.1, 5.11.2, 5.11.3 и 5.11.4, и вот-вот появится версия 5.12, предназначенная для использования в реальных приложениях. Perl 5.10 представил много нововведений, и сегодня интересно посмотреть, как часто они используются авторами модулей CPAN — модулей, появившихся после релиза 5.10, либо обновленных с того времени. На CPAN сейчас хранится около 80 000 модулей в 20 000 дистрибутивах, список авторов содержит около 8000 имен. Как часто здесь используются фичи Perl...</summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Версии Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Язык" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="510" label="5.10" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="5101" label="5.10.1" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<h2>Часть I<br />
История и статистика</h2>

<p>Perl 5.10 увидел свет в 20 день рождения языка — 18 декабря 2007 года. Уже прошло более двух лет, и за это время успели появиться девелоперские версии 5.11.0, 5.11.1, 5.11.2, 5.11.3 и 5.11.4, и вот-вот появится версия 5.12, предназначенная для использования в реальных приложениях.</p>

<p>Perl 5.10 представил много нововведений, и сегодня интересно посмотреть, как часто они используются авторами модулей CPAN — модулей, появившихся после релиза 5.10, либо обновленных с того времени.</p>

<p>На CPAN сейчас хранится около 80 000 модулей в 20 000 дистрибутивах, список авторов содержит около 8000 имен. Как часто здесь используются фичи Perl 5.10?</p>

<p>Ответ: новые фичи встречаются в двух сотнях модулей, созданных сотней авторов.</p><p><br /></p>


<h2>Часть II<br />
Фичи Perl 5.10</h2>

<p>Кратко о том, что появилось в Perl 5.10.</p>

<p>— Встроенная функция <b>say</b>, которая работает аналогично print, но добавляет перевод строки.</p>

<p><b>— Оператор сопоставления</b> (смартматчинга) ~~ сопоставляет свои аргументы согласно здравому смыслу (и, разумеется, четким правилам, описанным в документации). Например, в этих примерах аргументы имеют разный тип, но используется один и тот же оператор.</p>

<pre>$a ~~ /\d/

$a ~~ @list

@list ~~ %hash</pre>

<p>— Составной оператор выбора под условным названием <b>switch</b>. С помощью новых ключевых слов given, when и default возможно создать условную конструкцию, аналогичную switch/case в C и других языках. Важное отличие в том, что внутри given происходит не простое сравнение, а сопоставление (или смартматчинг).</p>

<pre>given($x) {
    when(/a/) {...}
    when('b') {...}
    default   {...}
}</pre>

<p>— Модификатор <b>state</b> позволяет создавать лексические переменные, сохраняющие значение между вызовами подпрограммы. Использование state похоже на объявление автоматической переменной со словом static в C.</p>

<pre>sub counter {
    state $c = 0;
    return ++$c;
}</pre>

<p><b>— Новшества в регулярных выражениях.</b> Регулярные выражения существенно переработаны, в частности, добавлены именованные сохраняющие скобки. В этой статье про регулярные выражение почти не упоминается, поскольку они достойны отдельного рассказа.</p>

<pre>(?&lt;name&gt;)
\K
\R
%+
%-
\g&lt;name&gt;</pre>

<p>— Бинарный оператор <b>defined-or (<tt>//</tt>)</b>. Возвращает первый из аргументов, который содержит определенное (не undef) значение. Может использоваться и в варианте с присвоением.</p>

<p>Следующие два примера иллюстрируют логику, которая часто прослеживается в сообщениях о вакансиях.</p>

<pre>$city = $arg // 'Moscow';

$vacancy{city} //= 'Moscow';</pre>

<p><i><br /></i></p><p style="text-align: center;"><i>Продолжение будет.</i></p>]]>
        
    </content>
</entry>

<entry>
    <title>10+</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/03/10.html" />
    <id>tag:onperl.ru,2010:/onperl//1.157</id>

    <published>2010-03-03T20:07:51Z</published>
    <updated>2010-03-03T20:18:24Z</updated>

    <summary><![CDATA[На основе записей в трудовой книжке. 1999, Москва — Я программирую на Perl. Особенность&nbsp;в том,&nbsp;одно и то же действие можно записать по-разному. Это и непривычно, и немного сложно, но интересно. Это сказал мой товарищ, который в то время делал сайт одного из поставщика радиодеталей. Я же в то время писал на C++ программы для обработки данных физических экспериментов по сталкиванию частиц, делал статистический анализ данных, замаскированных шумом, и пытался применять новейшие математические&nbsp;приемы — вейвлеты — для анализа электрокардиограмм. В книжных магазинах моего родного города я давно видел несколько книг с большими буквами PERL. Неосознанно я хотел узнать, что это, но...]]></summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Не Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="myself" label="myself" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="story" label="story" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>На основе записей в трудовой книжке.</p>
<p><strong><em>1999, Москва</em></strong></p>
<p><em>— Я программирую на Perl. Особенность&nbsp;в том,&nbsp;одно и то же действие можно записать по-разному. Это и непривычно, и немного сложно, но интересно.</em></p>
<p><em>Это сказал мой товарищ, который в то время делал сайт одного из поставщика радиодеталей. </em><a href="http://shitov.ru/sci/"><em>Я же в то время</em></a><em> писал на C++ программы для обработки данных физических экспериментов по сталкиванию частиц, делал статистический анализ данных, замаскированных шумом, и пытался применять новейшие математические&nbsp;приемы — вейвлеты — для анализа электрокардиограмм.</em></p>
<p><em>В книжных магазинах моего родного города я давно видел несколько книг с большими буквами PERL. Неосознанно я хотел узнать, что это, но тогда буквы значили не больше, чем аббревиатура VRML. Не хочу сказать, что произнесенные между делом слова товарища&nbsp;повлияли на мой выбор, но и отрицать этого не стану.</em></p>
<p><strong><em>2000—2010, Москва</em></strong></p>
<p><em>С этого года Perl стал меня кормить. За десять лет я совершенствовал себя и свои знания в журнале «</em><a href="http://www.radio.ru/"><em>Радио</em></a><em>», фонде научных исследований «</em><a href="http://artpragmatica.ru"><em>Прагматика культуры</em></a><em>», </em><a href="http://artlebedev.ru/"><em>студии Артемия Лебедева</em></a><em> (да-да, там я тоже делал некоторые вещи на перле), российском информационном агентстве «</em><a href="http://rian.ru"><em>РИА Новости</em></a><em>», компании </em><a href="http://magic.ru"><em>Q1</em></a><em> и в ООО «</em><a href="http://whoyougle.ru/"><em>Гностик</em></a><em>».</em></p>
<p><strong><em>2010, Амстердам</em></strong></p>
<p><em>В марте я подписал контракт с&nbsp;компанией </em><a href="http://booking.com/"><em>Booking.com</em></a><em>&nbsp;— еще одним лидером интернетов, который знает толк в перле и где не стыдно работать.</em></p>]]>
        
    </content>
</entry>

<entry>
    <title>Массив или список — ответы</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/03/massiv-ili-spisok-otveti.html" />
    <id>tag:onperl.ru,2010:/onperl//1.156</id>

    <published>2010-03-02T21:05:14Z</published>
    <updated>2010-03-02T21:07:12Z</updated>

    <summary><![CDATA[Из 49 ответов на вопрос «@var — это массив или список?», оставшихся&nbsp;после отсеивания накруток сторонников массивов, сложилась такая картина общественного мнения:...]]></summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Язык" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="array" label="array" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="list" label="list" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="terminology" label="terminology" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="variable" label="variable" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="vote" label="vote" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Из 49 ответов на вопрос «<a href="http://onperl.ru/onperl/2010/02/post.html">@var — это массив или список</a>?», оставшихся&nbsp;после отсеивания накруток сторонников массивов, сложилась такая картина общественного мнения:</p>
<p align="center"><img src="http://img.onperl.ru/array_or_list.gif" width="470" height="413" /></p>]]>
        
    </content>
</entry>

<entry>
    <title>Trim</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/03/trim.html" />
    <id>tag:onperl.ru,2010:/onperl//1.155</id>

    <published>2010-03-02T19:42:30Z</published>
    <updated>2010-03-02T20:04:33Z</updated>

    <summary><![CDATA[Себастьян Виллинг затронул в своем блоге вечную тему о том, как отрезать от строки пробелы с обеих сторон, сделав это в одно действие. Вместо двух замен $str =~ s/^\s+//;$str =~ s/\s+$//; Себастьян указывает на&nbsp;такой вариант: $str =~ s/^\s*(.*?)\s*$/$1/; Интересно почитать и комментарии, где предлагают несколько похожих вариантов с альтернативами в регулярном выражении: $str =~ s/(^\s+|\s+$)//g; $str =~ s/(?:^\s+|\s+$)//g; $str =~ s/^\s*|\s*$//g; $str =~ s/^\s+|\s+$//g; P. S. В комментариях, кстати, видно, как почти одно и то же выражение разные люди записывают по-разному....]]></summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Лингвистика" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Регулярные выражения" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="regex" label="regex" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="s" label="s" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="trim" label="trim" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p><a href="http://search.cpan.org/~SEWI/">Себастьян Виллинг</a> затронул в своем блоге вечную тему о том, <a href="http://blog.laufeyjarson.com/2010/03/stripping-whitespace-from-both-ends-of-a-string/">как отрезать от строки пробелы</a> с обеих сторон, сделав это в одно действие.</p>
<p>Вместо двух замен</p><tt>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>$str =~ s/^\s+//;<br />$str =~ s/\s+$//;</p></blockquote></tt>
<p>Себастьян указывает на&nbsp;такой вариант:</p><tt>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>$str =~ s/^\s*(.*?)\s*$/$1/;</p></blockquote></tt>
<p>Интересно почитать и комментарии, где предлагают несколько похожих вариантов с альтернативами в регулярном выражении:</p><tt>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>$str =~ s/(^\s+|\s+$)//g;</p>
<p>$str =~ s/(?:^\s+|\s+$)//g;</p>
<p>$str =~ s/^\s*|\s*$//g;</p>
<p>$str =~ s/^\s+|\s+$//g;</p></blockquote></tt>
<p>P. S. В комментариях, кстати, видно, как почти одно и то же выражение разные люди записывают по-разному.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Что для вас @var?</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/02/post.html" />
    <id>tag:onperl.ru,2010:/onperl//1.153</id>

    <published>2010-02-26T20:34:09Z</published>
    <updated>2010-02-26T20:58:04Z</updated>

    <summary>Как вы называете в повседневном обиходе переменную с именем @var? Массивом или списком? Проголосуйте...</summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Язык" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="array" label="array" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="list" label="list" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="poll" label="poll" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Как вы называете в повседневном обиходе переменную с именем @var? Массивом или списком?</p>
<p><a href="http://spreadsheets.google.com/viewform?formkey=dGFJZlBkZko1aHRCM0RlMmJOMm5uVEE6MA">Проголосуйте</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Perl на РИТ++</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/02/perl-na-rit.html" />
    <id>tag:onperl.ru,2010:/onperl//1.152</id>

    <published>2010-02-25T07:55:03Z</published>
    <updated>2010-02-28T19:04:13Z</updated>

    <summary><![CDATA[Открыт сайт конференции РИТ++ (Российские интернет-технологии) 2010 года. Конференция пройдет в Москве 12–14 апреля. В этом году на РИТ++ отдельным потоком пройдет «вложенное» мероприятие — конференция MayPerl (да-да, в апреле). Одновременно объявляется прием заявок на выступления на доклады. Предпочтение отдается докладам, попадающие в заявленные темы, которые хотелось бы осветить на мероприятии: Perl в крупных организациях; Perl 6; Perl в сравнении с другими языками программирования. В конференции примет участие Патрик Мишо&nbsp;(Patrick Michaud), архитектор компилятора Perl 6 Rakudo. Именно этой весной планируется выпустить первый релиз. Регистрация, оплата и личный кабинет находятся на общем сайте конференции РИТ++. Присоединяйтесь (=заставьте своего работодателя вложиться в...]]></summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Мероприятия" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="conference" label="conference" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="event" label="event" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="moscow" label="moscow" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="rit" label="rit" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p><a href="http://ritconf.ru/"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; FLOAT: right; MARGIN-LEFT: 10px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" alt="РИТ++" src="http://img.onperl.ru/ritconf2010.jpg" width="200" height="120" /></a>Открыт сайт конференции <a href="http://ritconf.ru/">РИТ++</a> (Российские интернет-технологии) 2010 года. Конференция пройдет в Москве 12–14 апреля.</p>
<p>В этом году на РИТ++ отдельным потоком пройдет «вложенное» мероприятие — конференция MayPerl (да-да, в апреле).</p>
<p>Одновременно объявляется <a href="mailto:andy@shitov.ru?subject=Perl%20RIT%20Talk">прием заявок на выступления</a> на доклады. Предпочтение отдается докладам, попадающие в заявленные темы, которые хотелось бы осветить на мероприятии:</p>
<ul>
<li><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; FLOAT: right; MARGIN-LEFT: 10px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" alt="Патрик Мишо (Patrick Michaud)" src="http://img.onperl.ru/pm.jpg" width="150" height="200" />Perl в крупных организациях;</li>
<li>Perl 6;</li>
<li>Perl в сравнении с другими языками программирования.</li></ul>
<p>В конференции примет участие <a href="http://www.pmichaud.com/">Патрик Мишо</a>&nbsp;(Patrick Michaud), архитектор компилятора Perl 6 <a href="http://rakudo.org/">Rakudo</a>. Именно этой весной планируется выпустить первый релиз.</p>
<p>Регистрация, оплата и личный кабинет находятся на общем <a href="http://ritconf.ru/">сайте конференции РИТ++</a>. Присоединяйтесь (=заставьте своего работодателя вложиться в Perl)!</p>]]>
        
    </content>
</entry>

<entry>
    <title>CPAN: модули, авторы и документация</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/02/cpan-moduli-avtori-i-dokumentacija.html" />
    <id>tag:onperl.ru,2010:/onperl//1.151</id>

    <published>2010-02-24T07:55:30Z</published>
    <updated>2010-02-24T07:58:04Z</updated>

    <summary><![CDATA[Презентация А. Ш.&nbsp;блиц-доклада на «Перлбурге» про спан. View more presentations from Anatoly Sharifulin....]]></summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Презентации" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cpan" label="cpan" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perlburg" label="perlburg" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="presentation" label="presentation" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sharifulin" label="sharifulin" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="slides" label="slides" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Презентация <a href="http://friendfeed.com/sharifulin">А. Ш.</a>&nbsp;блиц-доклада на «<a href="http://2010.yapcrussia.org/perlburg">Перлбурге</a>» про спан.</p>
<div style="TEXT-ALIGN: left; WIDTH: 425px" id="__ss_3230704"><object style="MARGIN: 0px" width="425" height="355"><embed height="355" type="application/x-shockwave-flash" width="425" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=cpan-100220030045-phpapp02&amp;stripped_title=cpan-3230704" allowscriptaccess="always" allowfullscreen="true"></embed></object>
<div style="FONT-FAMILY: tahoma, arial; HEIGHT: 26px; FONT-SIZE: 11px; PADDING-TOP: 2px">View more <a style="TEXT-DECORATION: underline" href="http://www.slideshare.net/">presentations</a> from <a style="TEXT-DECORATION: underline" href="http://www.slideshare.net/sharifulin">Anatoly Sharifulin</a>.</div></div>]]>
        
    </content>
</entry>

<entry>
    <title>Lingua::RU::Inflect</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/02/linguaruinflect.html" />
    <id>tag:onperl.ru,2010:/onperl//1.150</id>

    <published>2010-02-24T07:42:40Z</published>
    <updated>2010-02-24T08:02:20Z</updated>

    <summary><![CDATA[Одна из приятных сторон в организации конференций — возможность получать удовольствие, косвенно (например, оплатив фуршет :-) участвуя в развитии перла и его приложений. Александр Сапожников после блица&nbsp;Анатолия Шарифулина выложил на CPAN свой первый модуль Lingua::RU::Inflect, предназначенный для склонения русских имен. Тест-драйв (с массой бойлерплейтов перед основным кодом :-): use v5.10;use utf8;use open qw(:std :utf8);use strict;use Lingua::RU::Inflect qw(:all); say inflect_given_name(GENITIVE, 'Андрей'); say join ' ', inflect_given_name(GENITIVE, 'Андрей', 'Борисыч'); Программа печатает АндреяАндрея Борисыча Нелитературное Борисыч просклонялось правильно :-) Такой вот лингвоспан....]]></summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Лингвистика" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="language" label="language" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="lingua" label="lingua" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ru" label="ru" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Одна из приятных сторон в организации конференций — возможность получать удовольствие, косвенно (например, оплатив фуршет :-) участвуя в развитии перла и его приложений.</p>
<p>Александр Сапожников после <a href="http://www.slideshare.net/sharifulin/cpan-3230704">блица&nbsp;Анатолия Шарифулина</a> <a href="http://shoorick.livejournal.com/1047576.html">выложил на CPAN</a> свой первый модуль <a href="http://search.cpan.org/perldoc?Lingua::RU::Inflect">Lingua::RU::Inflect</a>, предназначенный для склонения русских имен.</p>
<p>Тест-драйв (с массой <a href="http://event.perlrussia.org/perlburg/talk/68">бойлерплейтов</a> перед основным кодом :-):</p><tt>
<p>use v5.10;<br />use utf8;<br />use open qw(:std :utf8);<br />use strict;<br />use Lingua::RU::Inflect qw(:all);</p>
<p>say inflect_given_name(GENITIVE, 'Андрей');</p>
<p>say join ' ', inflect_given_name(GENITIVE, 'Андрей', 'Борисыч');</p></tt>
<p>Программа печатает</p><tt>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr">
<p>Андрея<br />Андрея Борисыча</p></blockquote></tt>
<p>Нелитературное <em>Борисыч</em> просклонялось правильно :-) Такой вот лингвоспан.</p>]]>
        
    </content>
</entry>

<entry>
    <title>5, 5.10, 5.10.1, 5.12 и 6 в Голландии</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/02/5-510-5101-512-i-6-v-gollandii.html" />
    <id>tag:onperl.ru,2010:/onperl//1.149</id>

    <published>2010-02-23T10:34:07Z</published>
    <updated>2010-02-23T10:41:05Z</updated>

    <summary>На седьмом голландском Perl-воркшопе, который пройдет в Арнхеме 5 марта, подобралась завораживающая коллекция докладов о разных версиях Perl (перечислены в порядке возрастания версии :-)Andrew Shitov. Perl 5.10 in 2010Leon Timmermans. What&apos;s new in Perl 5.12?Martin Berends. Perl 6 implementations in March 2010Jonathan Worthington. Solved in Perl 6...</summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Версии Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Мероприятия" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="510" label="5.10" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="5101" label="5.10.1" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="512" label="5.12" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="6" label="6" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="netherlands" label="netherlands" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="talks" label="talks" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="workshop" label="workshop" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>На <a href="http://www.perlworkshop.nl/nlpw2010/index.html">седьмом голландском Perl-воркшопе</a>, который пройдет в Арнхеме 5 марта, подобралась завораживающая коллекция докладов о разных версиях Perl (перечислены в порядке возрастания версии :-)</p><p></p><ul><li><i>Andrew Shitov.</i> <a href="http://www.perlworkshop.nl/nlpw2010/talk/2584">Perl 5.10 in 2010</a></li><li><i>Leon Timmermans. </i><a href="http://www.perlworkshop.nl/nlpw2010/talk/2589">What's new in Perl 5.12?</a></li><li><i>Martin Berends. </i><a href="http://www.perlworkshop.nl/nlpw2010/talk/2575">Perl 6 implementations in March 2010</a></li><li><i>Jonathan Worthington.</i> <a href="http://www.perlworkshop.nl/nlpw2010/talk/2538">Solved in Perl 6</a></li></ul><p></p>]]>
        
    </content>
</entry>

<entry>
    <title>Mojolicious. Веб в коробке!</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/02/mojolicious-veb-v-korobke.html" />
    <id>tag:onperl.ru,2010:/onperl//1.148</id>

    <published>2010-02-20T09:49:44Z</published>
    <updated>2010-02-20T09:51:51Z</updated>

    <summary>Презентация Анатолия Шарифулина на «Перлбурге». View more presentations from Anatoly Sharifulin....</summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Презентации" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Приложения" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="event" label="event" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mojo" label="mojo" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="mojolicious" label="mojolicious" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="presentation" label="presentation" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="sharifulin" label="sharifulin" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="slides" label="slides" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Презентация Анатолия Шарифулина на «<a href="http://2010.perlrussia.org/perlburg">Перлбурге</a>».</p>
<div style="width:425px;text-align:left" id="__ss_3230744"><br /><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mojolicious-100220031309-phpapp02&amp;stripped_title=mojolicious" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mojolicious-100220031309-phpapp02&amp;stripped_title=mojolicious" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/sharifulin">Anatoly Sharifulin</a>.</div></div>]]>
        
    </content>
</entry>

<entry>
    <title>Perl 5.10 в 2010-м</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/02/perl-510-v-2010-m.html" />
    <id>tag:onperl.ru,2010:/onperl//1.147</id>

    <published>2010-02-20T08:42:22Z</published>
    <updated>2010-02-20T08:46:26Z</updated>

    <summary>Моя презентация на «Перлбурге».Презентация в пяти частях, основное содержание — о том, как и зачем используют возможности 5.10 в новых модулях на CPAN и мои примеры вариантов применения, которые я показывал на onperl.ru. View more presentations from andy.sh....</summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="CPAN" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Версии Perl" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Презентации" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Язык" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="510" label="5.10" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="5101" label="5.10.1" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ekaterinburg" label="ekaterinburg" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="event" label="event" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perlburg" label="perlburg" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="presentation" label="presentation" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="slides" label="slides" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Моя презентация на «<a href="http://2010.yapcrussia.org/perlburg">Перлбурге</a>».</p><p>Презентация в пяти частях, основное содержание — о том, как и зачем используют возможности 5.10 в новых модулях на CPAN и мои примеры вариантов применения, которые я показывал на onperl.ru.</p>
<div style="width:425px;text-align:left" id="__ss_3230651"><br /><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=perl510in2010-100220023748-phpapp01&amp;stripped_title=perl-510-2010" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=perl510in2010-100220023748-phpapp01&amp;stripped_title=perl-510-2010" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></object><div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/andy.sh">andy.sh</a>.</div></div> ]]>
        
    </content>
</entry>

<entry>
    <title>Perlgolf на Perlburg</title>
    <link rel="alternate" type="text/html" href="http://onperl.ru/onperl/2010/02/perlgolf-na-perlburg.html" />
    <id>tag:onperl.ru,2010:/onperl//1.146</id>

    <published>2010-02-19T09:24:31Z</published>
    <updated>2010-02-22T16:52:04Z</updated>

    <summary>Екатеринбургские организаторы воркшопа Perlburg опубликовали задание для конкурса Perlgolf. Дана строка, состоящая из маленьких английских букв. Найти её на прямоугольном поле из символов, разделенных пробелами. При этом если символы являются соседними в строке, то они должны быть соседними и на поле (по вертикали, горизонтали или диагонали). На стандартный вход подается файл, в первой строке которого указана размерность поля и искомая строка, далее идет сама таблица из символов, разделенная пробелами. В ответе нужно выдать набор чисел-координат символов на поле — «номер строки» и «номер столбца», разделенные пробелами (Нумерация идет с нуля), указанные в порядке следования букв в строке. Данные корректны. В...</summary>
    <author>
        <name>ash</name>
        <uri>http://shitov.ru/</uri>
    </author>
    
        <category term="Golf" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Мероприятия" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ekaterinburg" label="ekaterinburg" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="event" label="event" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="golf" label="golf" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perl" label="perl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="perlburg" label="perlburg" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ru" xml:base="http://onperl.ru/onperl/">
        <![CDATA[<p>Екатеринбургские организаторы воркшопа Perlburg опубликовали <a href="http://event.perlrussia.org/perlburg/news/2?language=ru">задание для конкурса Perlgolf</a>.</p>
<p><i>Дана строка, состоящая из маленьких английских букв. Найти её на прямоугольном поле из символов, разделенных пробелами. При этом если символы являются соседними в строке, то они должны быть соседними и на поле (по вертикали, горизонтали или диагонали). На стандартный вход подается файл, в первой строке которого указана размерность поля и искомая строка, далее идет сама таблица из символов, разделенная пробелами. В ответе нужно выдать набор чисел-координат символов на поле — «номер строки» и «номер столбца», разделенные пробелами (Нумерация идет с нуля), указанные в порядке следования букв в строке. Данные корректны. В случае отсутствия строки ничего не выдавать.</i></p>
<p><i>Например, файл input.txt содержит:</i></p>
<blockquote style="MARGIN-RIGHT: 0px" dir="ltr"><pre><i>5 5 qwerty
<span style="COLOR: #008000; FONT-WEIGHT: bold">q</span> f <span style="COLOR: #008000; FONT-WEIGHT: bold">e</span> g a
b <span style="COLOR: #008000; FONT-WEIGHT: bold">w</span> <span style="COLOR: #008000; FONT-WEIGHT: bold">r</span> p n
k d <span style="COLOR: #008000; FONT-WEIGHT: bold">t</span> n d
c <span style="COLOR: #008000; FONT-WEIGHT: bold">y</span> c v n
h u k s a
	
$ perl solve.pl &lt; input.txt
0 0 1 1 0 2 1 2 2 2 3 1</i></pre></blockquote>
<p></p>]]>
        
    </content>
</entry>

</feed>
