Архив категории: perl

DSL java perl programming

Не нравится язык? Напиши его себе сам.

Во время поиска документации по незнакомым функциям стандартной библиотеки, наткнулся на удивительную фичу Perl’а — source filters. Она позволяет выполнять препроцессинг исходного кода перед выполнением. Обработка может производится как кодом на C, так и кодом на самом Perl’е, что является наиболее переносимым вариантом.
Так чего же он нам позволяет добиться?
Многого! Например можно добавить возможность использовать прототипы функций с именованными аргументами, которые появятся только в Perl6.

Или изменить синтаксис чуть сильнее:

Читать далее »

perl programming

Лексер для Perl

Меня всегда интересовал вопрос: «В чём основная сложность разработки плагинов для IDE для динамических языков?». Посмотрев код плагина поддержки Perl для Eclipse и почитав форумы, я обнаружил что порой программа может быть правильно разобрана на лексемы только самим интерпретатором, например в случае, когда порядок разбора зависит от уже произведённых действий при разборе. Наглядный пример:

В котором последняя строка может содержать как регэксп так и деление в зависимости от прототипа загруженной функции. Читать далее »

perl

Исключения в Perl

Одним из возможных вариантов мне видится:

Читать далее »

GD graphics perl

Склеиваем картинки при помощи Perl и GD

Все наверное уже видели этот шэдевральный комикс от xkcd. А тем кто не видел — очень рекомендую посмотреть.
Ну так вот. Интересно мне было посмотреть как он выглядит целиком. И вот если бы я сначала подумал, а не сразу принялся бы код, то понял бы, что это бессмысленно. т.к. общий размер изображения 13+ ГИГАПИКСЕЛЕЙ. А моим вьювером, как выяснилось больше 0.6 ГП не открывается. Да и библиотека с изображениями, размер которых по одному из измерений больше 33 КП, работает нестабильно. Но зато я хоть немножко познакомился с GD.
Склеить получилось(нормально склеилось и нормально смотрелось) участок вот такого размера:

Полная же картинка выглядит так:

Второе изображение отсюда.
upd. На хабре узнал про скрол версию.
Для склейки изображений я набрасал простенький скрипт, код которого приведён далее.
Читать далее »