Читать дальше →
2.25
Рейтинг
Perl *
Высокоуровневый интерпретируемый динамический язык
Сначала показывать
Порог рейтинга
Уровень сложности
Perl и GUI. Сравнение тулкитов
2 мин
7.3KНесмотря на большое количество модулей в CPAN, дистрибутивов Perl (Strawberry Perl, ActivePerl, MinGW Perl) возникают некоторые неопределенности, одна из них — это выбор графического тулкита для построения GUI (графического интерфейса пользователя). Об этом и пойдет речь.
Лично я остановился на ActivePerl от компании ActiveState. Также для работы применяю Komodo IDE и Perl Dev Kit.
Итак, я выбрал четыре основных модуля для работы с GUI, обеспечивающие кроссплатформенность.
Лично я остановился на ActivePerl от компании ActiveState. Также для работы применяю Komodo IDE и Perl Dev Kit.
Итак, я выбрал четыре основных модуля для работы с GUI, обеспечивающие кроссплатформенность.
+21
Вышел Parrot 1.4.0 «Mundo Cani»
2 мин
1.1KЗа все время чтения хабра видел лишь несколько упоминаний Parrot VM. Тем временем, проект активно развивается, и сегодня вышел релиз 1.4.0. Parrot — виртуальная машина, предназначенная для эффективной компиляции и исполнения байткода для динамических языков программирования. На данный момент существуют реализации нескольких языков для Parrot: Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL, а также транслятор байткода .NET.
+37
Perl — Отправляем файлы на сервер HTTP запросом
5 мин
13K На самом деле, ничего оригинального, документации достаточно, даже более чем, хотя последее вызывают очень сильную тоску. Поэтому, проще один раз практически показать, как и что делается, чем десять раз читать и наступать на грабли. Условие: Есть какие-то бинарные файлы, которые лежат локально, есть сервер, на которые мы должны эти файлы положить, на этом сервере есть скрипт (обработчик формы) который занимается делает upload файлов
Задача: Данные файлы требуется добавить через web интерфейс (обработчик формы) на сервер, как будто мы браузер и отправили данные через форму.
Задача: Данные файлы требуется добавить через web интерфейс (обработчик формы) на сервер, как будто мы браузер и отправили данные через форму.
+5
Истории
Moose(X). Продолжение
6 мин
2.6KВ продолжение топика Use Moose; Современное ООП в Perl, я хочу рассказать про некоторые интересные возможности, которые предоставляет Moose и его расширения.
Из упомянутого выше топика можно понять, что с Moose вам не придется тратить время на реализацию объектной модели. Но кроме автоматического создания аксесоров/мутаторов и конструктора, есть еще куча всяких полезностей и интересностей. А уж с помощью расширений, так вообще можно преобразить Perl до неузнаваемости (в хорошую, естественно, сторону).
Примеры кода я буду приводить из своего модуля, который я пробую переписать в стиле modern perl.
Из упомянутого выше топика можно понять, что с Moose вам не придется тратить время на реализацию объектной модели. Но кроме автоматического создания аксесоров/мутаторов и конструктора, есть еще куча всяких полезностей и интересностей. А уж с помощью расширений, так вообще можно преобразить Perl до неузнаваемости (в хорошую, естественно, сторону).
Примеры кода я буду приводить из своего модуля, который я пробую переписать в стиле modern perl.
+17
Ставим Perl на Apache, работающий под Windows.
2 мин
7.3K// публикую по просьбе пользователя mikegav
Побудило меня к написанию этой статьи отсутствие нормальной документации по установке на русском языке. Тем более, судя по интернет форумам желающих испробовать Perl не мало, да только почему-то не на одном ещё форуме не было нормального ответа, как приобщить свой Windows веб сервер к Perl-у.
Побудило меня к написанию этой статьи отсутствие нормальной документации по установке на русском языке. Тем более, судя по интернет форумам желающих испробовать Perl не мало, да только почему-то не на одном ещё форуме не было нормального ответа, как приобщить свой Windows веб сервер к Perl-у.
- Считаю, что у Вас уже установлен Apache 2.2.11. Если не установлен, то можно поставить WAMP www.wampserver.com/en
- Скачиваем ActivePerl-5.8.9.825-MSWin32-x86-288577.msi Скачивать нужно именно эту версию, а не 5.10, потому что для версии 5.10 нет mod_perl в репозитарии.
- Ставим mod_perl из репозитария, для этого выполняем из командной строки: ppm install theoryx5.uwinnipeg.ca/ppms/mod_perl.ppd
- Во время установки будет всего один вопрос “Where should mod_perl.so be placed? [D:/Apache2/modules]” Следует указать путь до папки “modules” (У меня D:\wamp\bin\apache\Apache2.2.11\modules\)
- После установки mod_perl, настраиваем вручную Apache.
- Подключаем perl, для этого после последнего LoadModule добавляем:
#Enable mod_perl
LoadFile "C:/Perl/bin/perl58.dll"
LoadModule perl_module modules/mod_perl.so
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
- Мне не нравиться официальная рекомендация создавать отдельный каталог для perl скриптов и на него вешать SetHandler perl-script, вешать же SetHandler на корневой каталог Web сервера то-же не комильфо т.к. это убьет работу php интерпретатора. Я предлагаю сделать как я, ассоциировать расширение pl с perl-script. Для этого достаточно добавить строчку: AddType perl-script .pl. И разрешить исполнение cgi в корневой директории. Для этого в внутрь узла <Directory «d:/wamp/www/»> добавить Options +ExecCGI
- Ну и на любителя, если уж совсем хотите, чтобы perl скрипты вели себя как php-шные привести DirectoryIndex к такому виду: DirectoryIndex index.pl index.php index.php3 index.html index.htm
- Подключаем perl, для этого после последнего LoadModule добавляем:
-2
Пара слов про UTF-8
6 мин
45KPerl долгое время ничего не знал про кодировки. Строка была просто последовательностью байтов, каждый держал там все что хотел, и лишь изредка приходилось задумываться о том, какая же все-таки кодировка у этих данных. Времена изменились, появился UTF; поддержать его пришлось и перлистам. Как это обычно бывает, in a perl way. Я надеюсь, что эта статья сбережет немного здоровья тем, кто до сих пор пребывает в неведении относительно реализации UTF-8 в Perl.
+44
Атрибуты: взгляд внутрь
4 мин
2.2KЭто продолжение статьи "Введение в атрибуты". Если Вы не знакомы с идеей атрибутов и их синтаксисом — советую начать с нее. Ну а в этой статье рассматривается, как устроены атрибуты изнутри, как с ними обращаться, и какие могут возникнуть проблемы.
+25
Атрибуты: введение
2 мин
2.6KАтрибуты появились в Perl довольно давно. Знаменательная для старожилов версия Perl 5.005 содержала довольно бесполезную прагму
attrs
. Прагма эта позволяла навесить на функцию пару встроенных атрибутов, для чего требовалось указать внутри этой функции use attrs
с соответствующими параметрами. Правда, уже в марте 2000 года в Perl 5.6 эта прагма была объявлена deprecated. На замену ей пришел модуль attributes
, а также расширенный синтаксис для объявления переменных/функций. Стало возможным создавать для них собственные метки и вводить для этих меток обработчики. По непонятным причинам, популярность атрибуты так и не получили. А жаль.+38
Корректное использование AUTOLOAD
1 мин
4.2KХотелось бы сразу предупредить: Это статья предназначена не для зубров, а описывает вполне обычный трюк с AUTOLOAD.
В Perl существует замечательная возможность отрабатывать вызовы к неопределённым методам.
Например, в случае
Результат будет равен 'any data'.
Введение
В Perl существует замечательная возможность отрабатывать вызовы к неопределённым методам.
Например, в случае
package Something;
our $AUTOLOAD;
sub AUTOLOAD
{
return 'any data';
}
sub DESTROY
{
}
package XTest;
my $o = new Something();
print $o->dry();
Результат будет равен 'any data'.
+2
Мучаем Last.fm и СDDB.
4 мин
4KСлучилось так, что за долгую меломанскую жизнь у меня скопилось более 1000 дисков уже «архаичного» формата аудио CD. А что же делать в эпоху социальных сетей, в общем, и Last.fm в частности, с таким количеством дисков? Правильно, надо отправить всё на Last.fm и желательно скопом, не слушая их на компьютере (хотя такое количество это всего полтора месяца непрерывного штурма соседских ушей), а кроме того аудио CD на компьютере я не слушаю. Чтобы решить такую «непростую» задачу надо всего четыре вещи: великий и могучий язык PERL, Last.fm API, CDDB и быть немного программистом.
Или к радости, или к сожалению, у меня есть только 3/4 от необходимого, так как программистом я не являюсь и никоим образом профессия моя к компьютерам не относима (sic!). Ну что же, глаза болят, а руки делают; желание иметь красивую статистику и профиль пересиливают отсутствие необходимых навыков :).
Или к радости, или к сожалению, у меня есть только 3/4 от необходимого, так как программистом я не являюсь и никоим образом профессия моя к компьютерам не относима (sic!). Ну что же, глаза болят, а руки делают; желание иметь красивую статистику и профиль пересиливают отсутствие необходимых навыков :).
+19
Украинский воркшоп «Перл мова» — 2009
1 мин
488Привет.
Спешу напомнить, что 7 марта, в Киеве пройдёт перловый воркшоп.
Это такая… миниконференция, а может быть и не мини.
В программе мероприятия доклады, и мастерклассы, а также беседы в кулуарах и кабаках с такими же как вы разработчиками, использующими перл. Особенно хочется отметить присутствие специально приглашённого гостя Джонатана Вортингтона, одного из разработчиков компилятора Perl 6 Rakudo.
Так же в программе серия блиц докладов. Так что если вам хочется о чём то расказать, или у вас есть инетесная разработка, или вы хотите поставить серьёзный вопрос, но 40 минут для вас слишком много, или вы неуверены в своих силах, то это лучший выход.
Участие в мероприятии бесплатное, атмосфера креативная и добрая.
Приглашаем.
Сразу хочу добавить, что в Москве такое тоже произойдёт этой весной, но чуть пожже.
Спешу напомнить, что 7 марта, в Киеве пройдёт перловый воркшоп.
Это такая… миниконференция, а может быть и не мини.
В программе мероприятия доклады, и мастерклассы, а также беседы в кулуарах и кабаках с такими же как вы разработчиками, использующими перл. Особенно хочется отметить присутствие специально приглашённого гостя Джонатана Вортингтона, одного из разработчиков компилятора Perl 6 Rakudo.
Так же в программе серия блиц докладов. Так что если вам хочется о чём то расказать, или у вас есть инетесная разработка, или вы хотите поставить серьёзный вопрос, но 40 минут для вас слишком много, или вы неуверены в своих силах, то это лучший выход.
Участие в мероприятии бесплатное, атмосфера креативная и добрая.
Приглашаем.
Сразу хочу добавить, что в Москве такое тоже произойдёт этой весной, но чуть пожже.
+5
Вызов пользовательской функции в Perl из переменной
1 мин
2.5KДа, понадобилось мне сделать такой изврат. В PHP — это call_user_func().
Учитывая, что в Google я с довольно большим трудом нашёл реализацию (да и не там, где ожидал, а в вызовах), решил опубликовать сюда:
соответственно,
./test.pl test выведет 123
./test.pl aaa ничего не выведет
Возможно, кому-то пригодится)
Учитывая, что в Google я с довольно большим трудом нашёл реализацию (да и не там, где ожидал, а в вызовах), решил опубликовать сюда:
#!/usr/bin/perl -w
use strict;
if(exists $ARGV[0] && exists &{$ARGV[0]}){
my $func_call = \&{$ARGV[0]};
&$func_call();
}
sub test{
print "123\n";
}
соответственно,
./test.pl test выведет 123
./test.pl aaa ничего не выведет
Возможно, кому-то пригодится)
+5
Ближайшие события
Больше событий в календаре
Администрирование
Менеджмент
Больше событий в календаре
Разработка
Менеджмент
Маркетинг
Больше событий в календаре
Разработка
-6
Почему корпорации ненавидят Perl?
2 мин
7.9KОрганизаторы конференции YAPC::Europe объявили, что главной темой в следующем году станет использование Perl на корпоративном уровне. А точнее — проблема, что делать с громадными объёмами некачественного кода, которые скопились за долгие годы.
Дейв Кросс, разработчик и журналист на технологические темы, всю жизнь создавал корпоративные системы на Perl, посетил вышеупомянутую конференцию, где побеседовал с представителями компаний. Он пишет в блоге O’Reilly ONLamp, что и сам мог бы заявиться на следующий год с докладом на тему «Почему корпорации ненавидят Perl». Это действительно несправедливо, считает Кросс.
Дейв Кросс не волнуется за своё собственное будущее как программиста, потому что до самой пенсии может быть обеспечен работой, поддерживая множество уже созданных систем. Однако факт в том, что многие крупные компании сейчас отказываются от Perl’а и собираются переписывать всё на Java + PHP.
В настоящее время сами разработчики веб-систем явно начинают относиться к Perl’у как к некому технологически устаревшему артефакту и в целом говорят о нём пренебрежительно. Такое настроение передаётся заказчикам, которые не разбираются в технологиях, однако теперь сразу начинают беспокоиться, едва услышав слово “perl”. Им не нужны «устаревшие» решения, они хотят красивые системы на новых технологиях.
Дейв Кросс, разработчик и журналист на технологические темы, всю жизнь создавал корпоративные системы на Perl, посетил вышеупомянутую конференцию, где побеседовал с представителями компаний. Он пишет в блоге O’Reilly ONLamp, что и сам мог бы заявиться на следующий год с докладом на тему «Почему корпорации ненавидят Perl». Это действительно несправедливо, считает Кросс.
Дейв Кросс не волнуется за своё собственное будущее как программиста, потому что до самой пенсии может быть обеспечен работой, поддерживая множество уже созданных систем. Однако факт в том, что многие крупные компании сейчас отказываются от Perl’а и собираются переписывать всё на Java + PHP.
В настоящее время сами разработчики веб-систем явно начинают относиться к Perl’у как к некому технологически устаревшему артефакту и в целом говорят о нём пренебрежительно. Такое настроение передаётся заказчикам, которые не разбираются в технологиях, однако теперь сразу начинают беспокоиться, едва услышав слово “perl”. Им не нужны «устаревшие» решения, они хотят красивые системы на новых технологиях.
+36
Тестирование программ Perl для начинающих. Test:: Simple
2 мин
3.3KTest::Simple — это базовый, очень простой модуль, который используется для написания тестов.
Модуль дает возможность использовать для тестирования всего одну функцию — ok(). Если возможностей данной функции недостаточно, рекомендуется использовать Test::More. Тесты, написанные с помощью Test::Simple полностью совместимы с Test::More.
Модуль дает возможность использовать для тестирования всего одну функцию — ok(). Если возможностей данной функции недостаточно, рекомендуется использовать Test::More. Тесты, написанные с помощью Test::Simple полностью совместимы с Test::More.
+1
Тестирование программ Perl для начинающих. Test Anything Protocol (TAP)
3 мин
4.8KПрежде чем, я перейду к описанию работы с модулями Test::More, Test::Harness и Test::Simple, хотелось бы уточнить, что такое TAP — упоминание которого, время от времени, появляется при обсуждении темы тестирования программ.
Текст данной темы — в основном, перевод подходящего текста из Википедии (ссылка ниже).
Пожалуй, единственный материал в данной теме, который практически не подвергался мною никакой
обработке, кроме перевода. :)
Текст данной темы — в основном, перевод подходящего текста из Википедии (ссылка ниже).
Пожалуй, единственный материал в данной теме, который практически не подвергался мною никакой
обработке, кроме перевода. :)
+1
Тестирование программ Perl для начинающих. Введение
4 мин
6.8KПочему «для начинающих»? Потому что, данное руководство было составлено мною и для меня, в процессе изучения особенностей тестирования в целом и тестирования программ Perl — в частности. Не претендую на абсолютную полноту изложения темы, но, возможно, многим начинающим программистам эта статья будет полезна и укажет направление для дальнейшего самостоятельного изучения процессов тестирования.
Это только первая часть руководства. Введение :). Если сообществу будет интересно, опубликую и продолжение.
Это только первая часть руководства. Введение :). Если сообществу будет интересно, опубликую и продолжение.
+9
-14
17—18 мая в Москве пройдёт конференция YAPC:: Russia 2008 «May Perl»
1 мин
891В Москве пройдет конференция YAPC::Russia 2008 «May Perl» по языку программирования Perl. Это второе российское меропритие в серии, которую начал первый Perl-воркшоп в октябре прошлого года. Конференция на этот раз вышла на международный уровень и вошла в цикл мероприятий «Yet Another Perl Conference», проводимых при поддержке организации «The Perl Foundation». Мероприятие почти полностью посвящено распространённым практикам использования языка и развитию Perl6. И что особенно приятно, в программе довольно мало посвящено веб разработке, большей частью именно сам Perl.
Участие конечно же бесплатное.
Можно зарегистрироватся на сайте мероприятия и заявится на конференцию.
Кстати, база данных пользователей общая для всех YAPC, так что если вы настроены серьёзно — можно заявится на любое мероприятие…
+14