В жизни существуют много извращений, некоторые, как например чрезмерное увлечение политикой, свидомия, телефетиш достаточно вредны для больного, другие же наоборот - полезны. Именно о такой девиации хотелось бы и рассказать. На linux десктоп-программирование на perl очень
популярно в среде разработчиков, для этого существуют бекэнды как для gtk2, так и для qt. Есть даже
дистрибутивы, написанные полностью на этом языке. Обусловлена такая популярность несколькими причинами: во-первых, практически на каждой linux машине установлен интерпретатор с набором необходимых pm-ов, ну а во-вторых, в программу на интерпретируемом языке намного легче вносить какие-то изменения без перекомпиляции в бинарник для запуска. Для Windows-а подобные изыски непостижимы, именно поэтому на perl для этой ОС GUI-программ я не встречал. А ведь сделать их по настоящему элементарно.Захотелось мне написать информатор баланса
локальной сети, к которой я подключен. И так получилось, что на моем компьютере под управлением Windows XP отсутствовал MVC, зато был установлен
ActiveState Perl и их же
Perl Development Kit. После беглого просмотра документации PDK обнаружились приложения
PerlApp и
PerlTray, которые умеют собирать .pl файл в подобие самораспаковывающегося архива, который содержит скрипт, сам интерпретатор perl + необходимые для работы библиотеки, что позволяет создавать полностью standalone приложения. Исходники можно посмотреть
вот тут, сразу скажу - это мой первый сексуальный опыт программирования на perl для окон, поэтому попрошу не пинать. Как все получилось можно посмотреть на скриншотах (
1,
2) либо же
скачать готовое приложение архивом, где в config.ini прописать свой login и password.Вывод: это все совершенно не нужно. Размер exe файла из исходника в 3 KB разрастается в 2,7 MB, который в свою очередь отъедает ~17 MB оперативной памяти. На разных версиях Windows-а все работает очень по разному, но работает же. Так что пусть наверное заводы рабочим останутся, а земли - этим самым крестьянам, такая вот аллегория. Хотя если верить отзывам
пользователей, то им главное результат и это в очередной раз доказывает всю сложность мировой организации.
UPD: переписал на Delphi. Исходники и бинарники качабельны по запросу. Добавился графический конфигуратор, автоуведомление о заканчивающимся балансе и расширенная статистика. И работает это все теперь экономнее и быстрее, хотя с https компонентом пришлось достаточно долго повозиться, пока не нашел
TIEHTTP, которые использует IEшный Wininet и умеет работать с self-signed сертификатами.