TAG | cpan
Для начала расскажу историю. В далёком 2004-м году чувак по имени Vladi Belperchinov-Shabanski “Cade” написал модуль Algorithm::FloodControl. В те дремучие века люди не знали, что такое ООП и их заботила поддержка Perl4
Сделал апгрейд этому модулю. Сделал его ООП-шным, добавил поддержку backend-ов для Cache::Memcached::Fast, Cache::FastMmap. Сделал и для Cache::Memcached, ибо не сложно три строки написать, но когда 15 процессов инкрементят запись, то срабатывает от силы 10% инкрементов. Ниипу почему.
Наверное, ещё будут бока с документацией. Это я поправлю.
Upd: тьфу на этот маковский Perl. Поставил ActiveState. И вам советую
Начиная с Mac OS X 10.3 в системе появился Perl. Для написания праграмм в стиле “Hello world” его вполне достаточно. Для установки модулей на понадобится make, а для сборки XS – gcc со всеми вытекающими последствиями.
Всё это можно найти в пакете Xcode Tools, который скачивается с сайта Apple. Будем считать, что у вас он уже установлен.
Итак, пробуем:
$ sudo cpan Catalyst
Проблемы, которые могут возникнуть:
Регистронезависимость ФС
Как в FAT32 с NTFS-ом, HFS+ регистронезависим. Соответственно INSTALL и install – это один и тот же файл. К примеру, LWP при установке пытается установить бинарник HEAD, который затрёт вам стандартную команду head.
Чтобы этого не происходило, добавляем в конфиг CPAN такие строки:
cpan> o conf makepl_arg "INSTALLBIN=/usr/local/bin INSTALLSCRIPT=/usr/local/bin"
cpan> o conf commit
…и ещё одна непонятная проблема
При запуске make в директории с модулем у меня выдавалась ошибка:
make: *** No rule to make target `/System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE/config.h’, needed by `Makefile’. Stop.
Решается всё такой командой:
$ sudo cp /System/Library/Perl/5.8.1/darwin-thread-multi-2level/CORE/* /System/Library/Perl/5.8.8/darwin-thread-multi-2level/CORE
содрано частично отсюда: http://sial.org/howto/perl/life-with-cpan/macosx/
