不要使用未修飾字檔案控制代碼(
bareword filehandle
)。
使用間接檔案控制代碼。
如果你要使用包檔案控制代碼,就先將其局域化。
使用
io::file
模組或三自變數形式的
open
。
對檔案做
open
、close
時一定要檢查結果。
顯式關閉檔案控制代碼,而且要盡可能快一點。
使用
while
(<>
),不要使用
for(
<>
)。
要吃進的最好是基於行的
i/o。
為了簡潔起見,讓
do塊吃進乙個檔案控制代碼。
my$code = do ;
無論是強力行為還是簡單行為,都能以
perl::slurp
吃進流。
避免使用
*stdin
,除非你真的需要。
任何
語句內檔案控制代碼都要放在大括號內。
互動式輸入都要有提示。
不要為了互動性而重新創造標準測試。
使用
io::prompt
模組作為提示之用。
在互動應用程式中,一定要告知長時間、非互動式運算的進度。
考慮使用
smart::comments
模組來讓進度指示器自動化。
設定自動重新整理時避免使用原始的
select
。
Perl 最佳實踐 節選 06
使用 塊 if,不要使用字尾 if。例如,下面的就不好理解 sum measurement if defined measurement 其實,它等於 if defined measurement sum measurement 字尾 if要保留給流程控制語句。不要使用 unless for whi...
Perl 最佳實踐 節選 08
不要在 sort 中重新計算排序鍵。使用 reverse 逆轉列表。使用 scalar reverse 逆轉標量。使用 unpack 取出固定寬度的字段。使用 split 取出簡單的可變寬度的字段。使用 text csv xs 以取出複雜的可變寬度的字段。避免對字串使用 eval 考慮以 sort ...
Perl 最佳實踐 節選 12
正規表示式就是子程式。就是文字匹配子程式。一定要用 x標記。一定要用 m標記。以 a和 z作為字串邊界錨點 anchor 刪除前後空白 text s gxm 使用 z表示 字串末尾 不要用 z。perl提供 z標示符號的變形版本 z。但是,小寫 z是指 匹配字串末尾 而大寫 z是指 匹配可有可無的換...