Perl !

Posted: 2012-02-24 in IT
Метки:

Нашел блог замечательного человека — http://eax.me/

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

push @threads, threads->create(&thread_func, $_) for(1..THREADS_NUM);
$_->join for(@threads);

я например сделал многопоточную пинговалку для железок гораздо более быстрой и красивой по своему синтаксису. Фишка в чем — мы сперва _создаем_ все нити, и только потом в отдельном цикле делаем им join(), чтобы основной процесс дождался их завершения. К чему это я: если у вас внутри нити запускается процесс связи с какой-нить неспешной железкой через ssh/telnet, и таких железок — сотни штук, то коннектиться к железке и что-то делать нить начнет сразу после create(), и только после того, как все они создадудтся, пройзойдет их привязка через join(). Итог — опрос 120 железок занимает 0.8 секунды, по величине тормозов самой тормозной железки.
Если же сделать threads->create(&thread_func, $_)->join() прямо в первом цикле, создающем нити, то следующая нить создастся только после того, как выполнится join() для предыдущей, а он в свою очередь выполнится только после завершения вызванной при создании нити функции thread_func. И никакой многопоточности не будет, железки будут опрашиваться по очереди, и время опроса будет не 0.8 секунды, а почти две минуты.

Там еще много такой красоты, обязательно смотреть и начинать любить Perl.

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

- комментарии
  1. anonymous:

    Анонимно writes:фряха, конечно, ниче системка так, но речь вроде велась вроде как о перле, а в заключении о фряхе… бля, пиздец! впрочем, перл уже сам по себе пиздец. при всем уважении к ларри уоллу, синтаксис перла пиздец какой ебанутый. причем ебанутый не на хуй, а на хуепизду. писать на перле, все равно что ебать бабу в жопу.

  2. Aminux:

    Не согласен с вами решительно и принципиально.Да, на перле _можно_ писать в стиле "патча Бармина". Можно применять регулярки длиной в страницу для проверки почтового адреса.А можно писать в простом и понятном синтаксисе, красиво и аккуратно.Свои косяки конечно есть (одна только анальная боль с юникодом чего стоит), но в целом оно годное для боевого применения.

  3. anonymous:

    Анонимно writes:регулярки? да, на перле они пиздец как хороши, — факт. но и только. все остальное в перле чистой воды распиздяйство. хуйле! хоть и не люблю питон, но по мне нахуярить прогу на нем проще, чем на перле, с которым я имел секс на протяжении двух с половиной лет. ебать! вот гемора было в решении не типовых задач. полный пиздец! причем пиздец в квадрате. нет, в кубе. да что там, в в десятой степени, что в кубе =) а вообще, интерпретируемых языков ныне до хуя, так что спорить на тему что лучше, все равно что меряться письками.