Czy poza prokreacją, znasz jakąś rzecz, do której nie ma modułu Perla? :D
Bo chyba nie jest ich zbyt wiele….. xD

 

To będzie sloganem tego wpisu. Nie sposób się nie zgodzić z tym twierdzeniem ;)

Główne moduły Perla (core) są domyślnie instalowane w każdej dystrybucji linuxa/BSD. Lista modułów Perla jest powalająca (około 30tyś). W perlu można zrobić cuda.

Wszystko pięknie ładnie instaluje sobie linuxa, piszę/sciągam Skrypt X wymagajacy modułu Y. Szukam w repozytorium i… dupa – nie ma. No to gdzie te 30 tyś cpanów jak systemowy menadżer pakietów pokazuje mi tylko 12tyś? A no jak to w życiu bywa część modułów została porzucona, część jest nierozwijana, i co najważniejsze – developerzy danego OSa mają ciekawsze zadania niż pisanie ebuildów/robienie paczek dla każdego cpana. Z pomocą przy instalacji przychodzi nam perlowe narzędzie “cpan” umożliwiające zainstalowanie dowolnego modułu niezależnie czy jest on w systemowym repo czy nie.

Takie rozwiązanie ma niestety pewne wady – robi burdel w systemie i trzeba ręcznie sprawdzać aktualizacje*.

Jak sobie z tym poradzić? Złośliwi powiedzą “nie używać cpana”, ci mniej złośliwi powiedzą żeby stawiać wirtualne maszyny czy inne cuda w stylu LXC/vserwerów. Ale przecież nie o to chodzi, tym bardziej że chłopaki od Pythona sobie z tym poradzili. Czy nie można by tego samego zrobić w Perlu?

Trochę szperania w necie i okrzyk radości! Ktoś wpadł na ten sam pomysł! Tak oto powstał virtualenv-perl. Cześć i chwała bohaterowi. W końcu można instalować w systemie tone śmieci i jednocześnie nie mieć śmietnika – to zupełnie jak z kotem Schrödingera.

Instalacja jest banalna. Ściągamy plik virtualenv.pl z w/w repo, nadajemu mu prawa wykonywania. Obsługa jest równie banalna i skopiowana z pythonowego virtualenva.

virtualenv.pl NAZWA-ŚRODOWISKA
source NAZWA-ŚRODOWISKA/bin/activate

Wyjście z wirtualnego środowiska jest równie banalne

deactivate

Do poprawnego działania virtualenv.pl wymagany jest pakiet local-lib i to wszystko.

 

* – a przynajmniej do tej pory nie znalazłem narzędzia monitorującego dostępne wersje danych CPANów

WykopShare