老婆不在家適合做的事

老婆不在家適合自學電腦語言和寫程式。因為自學電腦語言需要長時間的專注和撰寫練習,一不小心就在電腦前待上一整天,中間做的事只有:
一、不斷敲鍵盤,動滑鼠
二、翻書
三、起身上廁所
四、十分鐘之內解決一頓飯
五、”喃喃自語”:http://blog.twblog.net/izzy/archives/001232.html
然後你很可能會忘記刮鬍子、洗澡、維持馬桶清潔這類事情,如果你在老婆眼界之內連三天持續以上的動作,她一定會把離婚協議書送到你面前(但你可能會說:「先等我幹掉這個bug ...」)。


這幾天大略學了一下”Perl”:http://www.perl.com/。本來是想玩C#,但是要玩C#十分麻煩,得去弄一套有六張光碟的”Visual Studio .Net”:http://www.microsoft.com/taiwan/vstudio/。學Perl 就容易多了,大部份資源都是網路上可合法免費取得。在視窗平台上跑PERL得先去下載直譯器,其中一個選擇是”ActiveSate”:http://www.activestate.com(他們的總部就在溫哥華)的”ActivePerl”:http://www.activestate.com/Products/Download/Download.plex?id=ActivePerl,為了方便撰寫和除錯,最好再去下載”Perl 的整合編輯程環境”:http://open-perl-ide.sourceforge.net/。網路上的Perl教學不計其數,但手上最好還是有一本詳細的參考書,除了方便翻閱劃線之外,紙本書的好處之一是可以讓你帶上餐桌或帶進廁所。
我買的是著名的”「駱駝書」”:http://www.oreilly.com.tw/chinese/perl/prog_perl2.htm,但後來發現買錯了,”「駝馬書」”:http://www.oreilly.com.tw/chinese/perl/learnperl3.htm才適合我這種初學者。
無論如何,反正網路上一堆教學網站,配合著看也就夠了。
Perl的簡單強大和豐富現成模組就不多提了,用它配合”「正規表示式」(Regex)”:http://www.cyut.edu.tw/~ckhung/b/gnu/regexp.shtml來做文字處理真是容易得不像話。我才花了三四天的時間就從完全不懂Perl到開發出一個可以把”PCHome個人新聞台”:http://mypaper.pchome.com.tw/留言板備份成文字檔的程式,其中大部份時間耗在搞懂有如天書的正規表示式。要不是個人新聞台極不穩定,這個程式的開發時間起碼可以再縮短一天。
要是用我之前學的Basic、C或Pascal來做個人新聞台留言板備份程式,不可能在幾天之內搞定,光是思考如何作就很頭痛。
Perl 的最大缺點是沒有什麼合適的解決方案可以把程式碼編譯成獨立的可執行檔。雖然ActiveState有一套”Perl Dev Kit”:http://www.activestate.com/Products/Perl_Dev_Kit/ 可以做這件事,但它是要收費的商業軟體。
目前這個程式只能在裝有Perl 直譯器的主機上跑。把它改一下應該就可以放到網路上讓別人使用。不過,呃,我發現許多個人新聞台的留言板資料都多到不像話,老婆的留言板就算用純文字檔存也要近2 mega,滿耗資源的,暫時打消這個主意。
下一個目標是寫個可以把個人新聞台轉成MT 匯入檔的程式。

“老婆不在家適合做的事” 有 16 則迴響

  1. 這幾天剛好想要玩破解無線網路的事情,結果Izzy幫我找到的程式都是perl….XD
    現在趕報告中,沒時間試驗,不過我很好奇的是,在視窗環境下,perl程式第一行要怎麼改?Omar說可能要remark第一行,然後用antoexec.bat把path固定住。要這麼做嗎??
    Perl在生物那邊是很搶手的哩,因為正規表示式跟DNA解碼有著太多可用的巧合…..雖然已經不流行講破解DNA這件事了。

  2. 早上我和凱洛一起騎車上班,兩人正在討論
    「Jeph現在好像很無聊」這個話題;
    結果一上線就看到此文,哈哈。
    不過看起來感覺還蠻充實的,是另一種
    (值得品味的)人生境界啊。

  3. perl程式第一行要怎麼改?
    是指這個嗎?
    #
    #!c:/Perl/perl.exe
    #
    改成安裝ActivePerl後,perl執行檔的路徑就可以了
    聽說如果環境設定有設好,

  4. perl程式第一行要怎麼改?
    是指這個嗎?
    #
    #!c:/Perl/perl.exe
    #
    改成安裝ActivePerl後,perl執行檔的路徑就可以了
    聽說如果環境設定有設好,

  5. 我以為逼迫之後就練習, 練習之後就習慣, 習慣之後成自然..為何還會有”忘記”這種事???!!!

  6. to cat:
    就像xxc 說的囉, 只要安裝好activeperl, 不必擔心第一行的問題. 我都是直接在 perl 碼的目錄下直接執行 perl xxxx.pl
    to 工頭&凱洛:
    像高獨立性如我者,怎麼會只因老婆不在家而有覺得無聊的問題呢? 呵呵呵…*淒涼的笑聲*
    to jedi:
    你是說Perl Archive Toolkit嗎? 大感謝, 我來好好研究一下…^^
    to 老婆:
    只是說笑而已,您別當真了. 事實上,我每天都有刮鬍子,洗澡,擦地板,馬桶閃閃發亮,….

  7. Jedi說的PAR我有用過, 底下是我原本貼過的文章,
    不過當時因為是用Google Groups貼的,中文變成亂碼 ^^;
    利用這個機會偷貼一下:
    ****************************************
    Newsgroups: tw.bbs.comp.lang.perl
    Subject: [問題]用PAR的pp做跨平台,免安裝的GUI程式?
    NNTP-Posting-Host: 211.20.94.2
    嗯,我是在找perl2exe的時候,看見PAR的.看來是Free Software,
    又是Autrijus Tang寫的,應該很棒才是 :p
    簡介可以參考:http://www.autrijus.org/par-intro.zh/slide002.html
    (更多的可以到http://par.perl.org/去看)
    我的需求:寫一個簡單的,免安裝的GUI程式,至少要跨Win32/Linux
    我的能力:Perl,(bash) shell script都寫過一些簡單的;再加上找Google :p
    我的想法:用Perl/Tk,寫好一個跨平台的程式,再利用PAR的pp產生的封裝程式,
    把所有用到的Perl Module封裝,那麼對方機器上就連 Perl 都不需要有.
    我的顧慮:對方的機器上是不是要裝Tk呢? -_-?
    目前進度: Linux (Red Hat 9)上面把Perl/Tk弄好了,Google找來的Perl/Tk程式
    可以執行
    下一步驟: Windows 2000 上面把Perl/Tk弄好(我的Cygwin有Perl,還在研究要用這個,
    或是Activestate的Perl),讓Google找來的程式也可以跑
    ==
    請給我一點意見,容我重複,我的應用程式要
    1)免安裝
    2)GUI
    3)跨平台(Win32 & Linux即可)
    ****************************************
    上文貼完,後來我就試出來了: Win32環境底下我又裝了ActivePerl然後裝PAR,用PAR裡面的pp產生封裝程式後,把程式拿到別人的電腦上執行,圖形介面和程式功能都可以正常.一共測了兩台,一台Windows 98一台Windows XP.
    當然,那兩台都不用裝Perl或是Tk 🙂

  8. 所以我可以很簡單的破WEP囉,喔耶~~~
    怎麼轉到這裡來了……:P
    不過,原來j是不愛洗澡的喔?

  9. to powerop:
    嘩! 好詳細的解說, 謝謝 *拜*
    to cat & 工頭:
    你們沒注意到嗎? 本文中說的是:
    “‘你’很可能會忘記刮鬍子、洗澡、維持馬桶清潔這類事情”
    可不是”我”…

  10. 我以為逼迫之後就練習, 練習之後就習慣, 習慣之後成自然..為何還會有”忘記”這種事???!!!
    雙手雙腳贊成 慧華你是對的!!!

  11. 可以傳給我試看看嗎,我也想來學看看,可是苦無破解無線之書! >_<

  12. 請問 安裝ActivePerl然後裝PAR,用PAR裡面的pp產生封裝程式
    我不了解,請問PAR是ActivePerl的一各模組嗎
    PAR的PP要如何使用
    煩請大大能夠指點迷津

迴響已被關閉。