你見過哪些令你瞠目結舌的Perl代碼技巧?


沒有。

本人的工作是在某個公司里支持內部的上千Perl開發者,日常做的就是維護內部開發的基礎Perl模塊(不少有十年以上歷史),導入CPAN上的開源模塊(有時發現問題會給作者出補丁),在內部論壇上回答內部Perl使用者的一些問題,等等。

印象里還真的沒有見過什麼特別奇妙特別驚艷的。(上面有答主說one—liner,那個可以算,但常用的也就那幾個,見過就知道了。)

非常反感所謂「Perl的奇技淫巧」之類的說法,就是玩這些東西的人把Perl的名聲搞臭了,把新人都嚇跑了。老實說我看下來,越是熟悉Perl的人越是會用Perl的一些高級功能,同時代碼可讀性也越好(這兩者並無矛盾);越是新人寫出來的代碼越亂。有時不太能理解別人說Perl可讀性差、維護性差之類的說法,感覺這麼說的人要麼自己不熟Perl要麼工作環境里的其他人不熟Perl。


One-liners可以出一本書,還不夠騷嗎?

Perl One-Liners (豆瓣)

你非要我放出大招來?


在Larry Wall寫的Perl駱駝書中,用Perl可以寫詩。於是有了下面一首:


我想,對於PERL這門「自加密」的「只寫」語言,這個問題應該反過來問: 你見過哪些平實易懂的PERL代碼?


本來有些感動,後來發現知乎的邀請推薦演算法簡直是狗。今後不會再有邀必答了。

趣味性、挑戰性都無所謂,但是不能沒有相關性。我從未在任何問題或答案中出現過perl四個字母。

ps:perl大法好,以後有機會試試,很喜歡其思想。


找出包含comment 或者apple 的行:

perl -ne "print if /comment/ || /apple/" duptext

計算欄位4和倒數第二欄位之和:

perl -lane "print $F[4] + $F[-2]"

啟動互動式perl:

perl -de 1

單行perl是很迷人的技巧,但多行的perl是這世界上最醜陋的語言。

建議除了當黑客,還是盡量用python吧,再搭配一行perl


我覺得隨便一份能夠長期維護的perl工程里的代碼都是很驚艷的。


一個正則表達式解析json


10年前,喜歡做黑客,自稱perl小子。見過用perl寫的一首詩吧,早就忘記了


推薦閱讀:

為什麼有些程序員不願意縮進代碼?
CodeBlock安裝後無法運行為什麼?無法找到編譯器?
大型公司的代碼注釋是怎樣的?
變數命名長的程序會不會比變數命名短的程序運行速度慢一些?
習慣聽歌寫代碼 有必要買個好耳機嗎?

TAG:互聯網 | 程序員 | 代碼 | Perl |