[Perl] light Perl = cpanm + perlbrew

[Image Credit]

最近因為一直在使用 Javascript + JSON 在開發一些工具及專案,所以愈來愈覺得「便利性」是一個趨勢,不要一大堆繁雜設定,不要有一大堆模組相依,因為對新手來說這些東西都太進階了,完全不能讓他們把時間投注在該專注的地方(我就搞了很久…快瘋了)

因為我的 Perl version 一直停留在當初 Mac OS X bundle 好的 5.8.9 … 所以是直到今天一直沒辦法執行朋友(Magnus)的 code 才發現這個問題,因為他用了很多新的語法所導致的…(他聽到我還在用十年前的 Perl 就傻眼了),不過還好他介紹了 Gugod 寫的 perlbrew 給我用(有那種台灣人寫的好東西是從瑞典朋友那邊得知消息的道理嗎= =),也是我今天要記錄的重點。

請參考官方教學
https://gist.github.com/806229.js?file=gistfile1.ebuild

利用 Perlbrew 就可以在家目錄輕鬆的建立 standalone 的 Perls,各種版本都可以依上述流程安裝並切換(Switch)使用,所以 Perlbrew 已經幫我們把 Perl version 的問題搞定了,接下就是處理 module 的問題。

在安裝 module 的時候(無論你是用 cpan or cpanplus),通常都會自動偵測現有的 Perl 版本來決定 module 的存放位置,以我自己為例就是(/opt/local/lib/perl5/site_perl/5.8.9 ),所以這在版本更新上面也會有很多的問題,最糟的做法就是 symbolic link 指來指去,指到最後都混亂了,因此這邊最好再搭配 cpanm 來簡化及統一安裝位置,詳細的流程就麻煩去看 c9s 的文章啦。只要記得最後把 module 的位置寫在 .profile / .bashrc 裡的 PERL5LIB 內就大功告成了。

所以對我這種初新者來說,perlbrew + cpanm 可以處理掉很多細節的問題,讓我省下更多時間能去體會 Perl 的美好呀。