[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 的美好呀。

[Perl] Goal of this winter vacation – to be a perl hacker

Image Credit

真是太令人開心了,這個學期的最後一門考試已經結束了,所以終於可以好好利用這個寒假來充實自己的實力,目前是希望這個寒假過後能夠先熟悉整個 Perl syntax 的部分(幹掉整本 Programming Perl 3/e 是理想,不一定要很懂,但是至少要翻完一次),因為說實在的那些符號的意義及Reference真的是搞的我很頭大,我覺得這兩者及其 data structure 應該是新手心中最深的痛吧…

搞懂了基本的細節後,之後再參考和 c9s 偷來的 Perl module reference (Attached below), 了解一些比較常用、實用的 module 的用途與使用方式,應該就能夠比較了解這個語言的特性了…

https://gist.github.com/771765.js?file=c9%E7%9A%84%E5%B8%B8%E7%94%A8%20perl%20module

說實在的,也許還是一個 Newbie 的原因,而且自己又比較熟悉 PHP (至少想到什麼還比較知道要怎麼去實作),所以這一來一往之下就消磨了使用與學習 Perl 的動機,所以想藉由這個機會讓我了解一個新的領域,了解一下這個語言能夠幫助我在什麼樣的地方,以及能夠做到什麼之前不容易做到、不方便做到的部分。

接下來就是 Perl 筆記連發了,希望能夠以發文來持續抵勵自己,加油。

[Perl] LsColorPicker

如果練習一個語言從if else來的話就太慢了,所以我就試著實作一下之前想做的LsColorPicker。

因為我很喜歡CPAN和Perl的Coding Style,這兩個是我覺得Perl吸引我的地方(很幹的地方不說了XD)。所以想要試著用一些好玩的Module來寫東西,就因此寫了這個LsColorPicker,可以讓使用者在自己的Terminal下設定自己的ls color。

就說了是新手試做啦,小玩具就是了,至少我覺得它可以幫我很多XD…

大概就是這樣囉,總圖要關了,我好像晚餐還沒吃,電腦也用了超過12個小時了…最後放上在Github的Link,我們下次見。