| Те, кто программировал на Perl под Windows, наверняка знают самый популярный инструмент для этого – ActivePerl. Однако, зачастую его “мощностей” не хватает и приходится брать дополнительные пакеты из ppm (Perl Packet Manager). |
Если о таком не знали, наберите в консоли “ppm” – будет интересно.
Однако, и там не всё есть что нам надо… И тогда стоит заглянуть на CPAN.org. Уж там то вы найдёте пакет для любой задачи. Однако, некоторые из них нужно будет скомпилировать под вашу систему. Задача вполне выполнимая, но трудоёмкая.
Именно в такой ситуации я оказался, когда захотел поставить Perl-Gtk2 на свою Windows XP. И, если честно, несколько опешил, ведь под Ubuntu этот пакет ставился одним запросом apt-get… Собирать пакет мне не хотелось, поэтому я решил поискать другие варианты.
Таким вариантом оказался другой дистрибутив Perl’а “Camel Box”.
Чтобы его установить, нужно скачать exe’шник с code.google.com весом ~ 100кб, запустить его. Перед Вами появится окно:

Жмём “Next”, соглашаемся с лицензией (GPL, если кому интересно). Получаем окно выбора пактов, которые нам понадобятся (и которые нужно будет установщику вытянуть из интернета).

После нажатия кнопки “Install” он их успешно скачивает и устанавливает.

Ну и конец установки:

После чего мы можем найти свежеустановленный дистрибутив в папке C:/camelbox (ну или другой диск (какой у вас системный)).
Теперь, чтобы начать использовать его библиотеки,
их надо добавить в массив поиска библиотек. Делается это просто:
BEGIN{
@INC = (@INC,'C:/camelbox/site/lib');
}
Именно там лежит файл Gtk2.pm. Напоминаю, что содержимое блока BEGIN выполняется до выполнения всего остального кода, поэтому во время вызова use Gtk2 -init; perl уже будет знать, где ему искать.
Ну и в конце – код, которым можно проверить, установился ли у вас Gtk2 или нет:
#!/usr/bin/perl BEGIN{ @INC = (@INC,'C:/camelbox/site/lib'); } use strict; use warnings; use encoding 'cp1251'; use Gtk2 -init; my $window = Gtk2::Window->new('toplevel'); $window->signal_connect( delete_event => sub { Gtk2->main_quit } ); my $button = Gtk2::Button->new('Прощай, Мир!'); $button->signal_connect( clicked => sub {Gtk2->main_quit}); $window->add($button); $window->show_all(); Gtk2->main();
UPD
Чтобы каждый раз не добавлять в @INC новый путь, можно скопировать C:/camelbox/site/lib в C:/perl/site/lib . Всё равно она по умолчанию пустая стоит…
Популярность: 35%
| Похожие записи: |
10.03.2010 в 21:17
…
Хм …