首頁 » Perl 手札
2009/07/31

[plurk][Perl] 用噗浪來作為記錄英文單字的學習工具(ydict => plurk)

ydict雖然一般人覺得查單字可能用Dr.eye或Yahoo!迷你筆,不過由於我常常在電腦前打字,所以較偏好使用命令列,之前,只要是我常用的電腦,大概都會裝上用Perl寫的ydict.pl這支程式,,據說最早是Leeym寫的,後來Tsung(宗豪大大)有改過,網路上用ydict 作為關鍵字也可以找到不少相關的資源(e.g., python寫的ydict, 爽皇大大用ruby寫的ydict, 可以在PSP上用的ydict ......族繁不及備載),之前在發想plurk 能做些什麼事時,就靈光一現--想把plurk 拿來作為個人查詢過的單字紀錄本,原本我只是用個純文字檔來做這件事,正想說存的格式要不要是xml,這樣方便以後處理(我不想用到database),後來有了plurk API,又剛剛好有用Perl 寫的WWW::Plurk,於是昨晚就來實作一下,其實很簡單,照我的經驗,只要稍加修改,Windows 平台、Unix-Like 平台都可以使用,算是一個學習語言的小工具吧。

它的主要作用就是你在命令列下查單字,會同步地發送到噗浪上去作為紀錄(或灌水用)

目前使用的結果在http://www.plurk.com/jiing_words可以看到。截圖如下,原本是想說用自己的帳號,不過會造成朋友們覺得我在洗版的感覺,所以我又另外申請了別的id來專門記錄單字。

Picture 46

0. 確定你的系統上有Perl (Windows 平台上的使用者請安裝Active Perl



1.下載我改寫的ydict.plurk.pl,下載後改成ydict.plurk.pl(或其它你呷意、喜歡的名稱),然後稍加修改幾個地方就可以用了

1.1 $sFileName 改成你要存的檔案路徑和名稱

110 my $sFileName="/Users/jiing/Documents/ydict_".$today."_words.txt";


繼續閱讀
2009/01/13

[Perl]解決安裝Open Perl IDE遇到的問題

前幾年剛開始拜讀hc大大的書,在windows上學習Perl的時候,曾經使用Open Perl IDE來作為學習的工具,它的優點是免費,而且也有源碼(source code),使用step by step來除錯的方式也和一般windows環境下的IDE十分類似,符合使用的習慣,後來每次重新安裝電腦時,在安裝Open Perl IDE都會遇到這個問題,每次必須都重新搜尋網路,雖然是兩、三個步驟就可以解決的小問題,不過還是來做個紀錄好了。人年紀大了,記憶力愈來愈不好,尤其去年後半年睡眠品質超差,覺得愈來愈健忘(不過有時這也是件好事......(*望遠*))

 首先,當你去下載Open Perl Ide時,請連帶一併下載Perl5.8_patch.zip opernPerlIDE4Perl5.8_3
繼續閱讀
2007/11/20

[Perl] 自動填寫timesheet 小工具 sample code

最近公司打算準備舉辦年度Hack Day,其實之前有想做某個東西,不過本週開會時老闆(不知有沒有記錯人@@?)說了:「如果有人能寫出自動填公司的timesheet的程式,那麼應該會得冠軍」,由於我心中浮出了實作的概念,於是今天便抽空寫了支小script,下班前除了自己玩了一下,也請同事F一齊玩,結果目前看來大致符合需求,看來或許可以用於今年的Hack Day 來展示小小成果。

其實之前在公司的變形金鋼計畫中就有人提出了timesheet填寫曠日費時,又與其它報表有部份重覆,希望管理能更人性化些,不過之前一直被某專案卡得死死的,沒什麼閒情逸致來做這些較不重要的事。

這支程式主要是用到perl 的二個module: Crypt::SSLeay 和 WWW::Mechanize,前者是為了讓LWP::UserAgent能作https的表單認證登入,後者則是為了用機器人填表。比較需要注意的是 WWW::Mechanize目前尚未支援JavaScript,所以有些用JavaScript的機器人動作都必須再以Form的Submit()方式來達成(叫用WWW::Mechanize中的form_submit())。

前人種樹,後人乘涼,Perl的開放原始碼讓許多大師貢獻了他們的好用模組,今日小弟才能用來構築這支script,來減少花費在 tedious工作上的時間。感謝大師們 m(_._)m

和同事F在回家的路上討論了一下這支小 script 未來的發展,想法大致是未來大家可能只要填寫某一份工作報表(e.g.,  ticket 系統),然後週會的報表及timesheet都會自動生成之類.......的想法。

到目前為止的測試範例碼如下,個人密碼及公司重要連結都已取代掉。

PS:個人覺得要得冠軍沒那麼簡單,本公司資訊游俠不少:p
繼續閱讀
2007/02/06

Perl 黑客第四招:儘可能用Shell Aliases

試譯者: jiing

Perl 黑客第四招:儘可能用Shell Aliases


藉由撰寫你自個兒的shell程式來讓程式設計變得容易些。

Perl是個給打字的人使用的程式語言。它是從用命令列來撰寫所有種類的程式而來,不過它仍然有利於那些不介意從命令列執行程式的人們。

如果你花費時間從命令列寫Perl(無論你寫短的script或完整的程式),花費一些時間來自動化常見的工作可以節省你很多開發時間--甚至是麻煩。

組態設定你的Shell



繼續閱讀
2007/02/01

Perl 黑客第三招:線上瀏覽Perl 文件

試譯者:jiing

Perl 黑客第三招:線上瀏覽Perl 文件



架設你自己的HTML文件主機。

perldoc是一個觀看Perl和所有你已安裝的模組的文件並以你選擇的檔案格式輸出它們的好方式。([Hack #2])。然而我發現perldoc的小兄弟,podwebserver,是瀏覽文件最方便的方法--你將它設為書籤(bookmark)、搜尋它,有時甚至將它印出成實體文件,所有都經由某個我本週正在使用的web瀏覽器。

黑客絕活(The Hack)


繼續閱讀
2007/02/01

Perl 黑客第二招:讓 Perldoc 做事

試譯者:jiing

Perl 黑客第二招:讓 Perldoc 做事


要做得比只是讀文件更多。

經由perldoc公用程式,Perl有大量可閱讀的文件--不僅是從命令列。這些文件涵蓋了從核心語言和教程到標準函式庫及任何你安裝的、甚至你寫的額外模組的每件事。然而,perldoc能做得更多。

這裡是一些增加你的生產力的開關和選項。

尋找運算子的文件(Find Operator Documentation)


繼續閱讀
2007/01/22

以Sprog來做資料整理(Data Munging with Sprog)

作者:Grant McLean
June 23, 2005

試譯者:jiing

原文出處: http://www.perl.com/pub/a/2005/06/23/sprog.html
預定的測試頁面:http://0rz.tw/592hg

我們已經全在那兒了--資料轉譯問題舉起它的標題,而你取得你的Perl片斷程式碼的小工具。它可能包含剖析一個CSV檔,擷取MIME附加檔案,產生大量的SQL insert 敘述,或是從web應用程式中挖出資料。如果只有你能找到它,你知道你有了會把你帶到往那裡的半路的程式碼,它們正躺在旁邊。然後有個將它全都拉在一起的問題。

如果有個方式來分類你的程式碼片段那不是很棒嗎?一個以關鍵字來瀏覽或搜尋的方法、一個模組化你的程式碼以更容易被重覆使用、及一個文件化它並且易於存取文件的方法怎麼樣?如果你能將這些片段們拉到一起來組合成一個解決方案而不用寫任何的程式碼不是更好嗎?

現在有了。那就是Sprog。

任務


繼續閱讀
2006/12/11

Perl黑客第一招:把 CPAN 捷徑加到 Firefox上

試譯者: jiing

每個人都想要更具生產力。那可能是你為什麼使用Perl的原因:你能在較少的時間裡以較少的努力完成更多的工作。 雖然,生產力並不全都與節省時間有關。節省精力甚至更重要,無論你的方法是尋找你要的資訊,自動避掉重覆性工作,或是尋找不需要每次都在思考你做事的方法。在某些方法裡,這就是不間斷的自動化的想法--找出每個一直擾亂你目前專案的小細節,那些一直擾亂的、困難的、煩人的,或是困難的,然後將它們藏在alias、shell script、程序(process)或諸如此類的...之後。

這裡有一些讓你的編程生活更輕鬆且更有生產力的方法的點子。試試看它們吧,享受你空閒時的新感覺,並令你自己注意生活中不順之處。然後也一併解決它們吧!

黑客第一招:把 CPAN 捷徑加到 Firefox上

保有模組文件和發佈套件僅僅只是減少了打字數。

如果Perl只有一個超越其它程式語言的優點。那就是有效地解決了許多問題的CPAN上頭的模組。雖然,那帶來一個較小的問題--對工作選擇一個適當的模組。

http://search.cpan.org/ 有助於你,不過如果你一天之內參訪此網站數次,經由web介面開始搜尋的步驟可是會變得很煩人。幸運的是,Mozilla家族的web瀏覽器,包含 Mozilla Firefox,可讓你可以建立捷徑讓瀏覽快速些。這些捷徑只是以適當區段和關鍵字bookmark起來的URL,不過它們非常有威力並有用-- 幾乎是對你瀏覽器的命令列的化名(command-line alias)。

這裡有三件最重要的事。


繼續閱讀
2006/10/09

自製的Firefox Perl search plugins

放假閒來無事,想說來做個輔助CPAN搜尋的東西,之前看了一下《Perl Hacks》,第一招中已經介紹了幾個增快搜尋的方法,下午想說做個別的,試了一下,改出了個CPAN Search 的plugin。 PS:做完後上網找了一下,好像已經有人做好了,在這裡。 XD 所以我又多做了一個Annotated CPAN Search :D 安裝方式是將下載來的檔案解壓縮到 FireFox 安裝目錄下的 searchplugins/ 目錄下,例如:
C:\Program Files\Mozilla Firefox\searchplugins\
就可以了。安裝完成後,右上角原本預設Google搜尋引擊的地方,會有一個駱駝的圖示(我去google image search找來的),這就是 CPAN Search 的搜尋。 AnnoCPAN Seach Plugin的安裝方式也是類似,裝完後會有隻粉紅色駱駝出現,下圖是裝了二個自製plugin後的結果:

繼續閱讀
2006/06/28

開始學習Perl 6

原文:http://svn.openfoundry.org/pugs/docs/getting_started 試譯者: jiing (這可能只是個有個少數幾個URL的骨架;請自在的更新它、改進格式......等)

學習Perl 6

不幸地,對於Perl 6的新手,似乎還沒有很多的教程。 這些是一些你可能想試著看的資源: *快速參考(Quickref) 精確的總結了如何在Perl 6裡做各種常見的事。可能太簡潔了以致於無法被當成教程,但仍很有用。 http://svn.openfoundry.org/pugs/docs/quickref/ (或是在你本地端複本中的 docs/quickref/) * 範例 http://svn.openfoundry.org/pugs/examples/ (或是在你本地端複本中的 examples/) * #perl6 (irc.freenode.net) 對話紀錄也很有用。 http://colabti.de/irclogger/irclogger_logs/perl6 http://irc.pugscode.org/ (重新導向到今天的紀錄) * 網要(Synopses) 官方的Perl 6設計文件,由@Larry所維護。有時可能有點難以跟上(Larry的思考模式),尤其是對新手,不過你可能想要嘗試一下。 http://svn.perl.org/perl6/doc/trunk/design/syn/ (官方庫藏) http://dev.perl.org/perl6/doc/synopsis.html (HTML版本) * perl6-語言(perl6-language) http://www.nntp.perl.org/group/perl.perl6.language

安裝Pugs

* Windows 不想要自己陷入建置Pugs大戰的Windows 使用者,可以試試PXPerl的二元檔。 http://pxperl.com/ * 其它的平台 使用你最喜歡的Subversion客戶端來從官方Pugs庫藏(repository)捉取最新修訂版。 http://svn.openfoundry.org/pugs/ 你也可以試著從CPAN取得一個釋出版本,不過如果你正在自行建置它,你可能也想要試試最新的SVN修訂版。 http://search.cpan.org/~autrijus/Perl6-Pugs/ Pugs是由Haskell寫成,所以你會需要最新版本的GHC來建置它。(當我在寫這份文件時,6.4.1是建議版本;6.4在某些平台上可運作。) http://haskell.org/ghc/download.html

繼續閱讀
1 2 下一頁 最末頁