1
我對Perl不是什麼新鮮事,但實際上我已經走了好幾年了。
在我的「回報」潛伏在本網站和其他人,我不禁注意到我曾經這樣做:
open IN, 'filename.txt' or die;
open OUT, '>filename.new' or die;
while (<IN>) {
print OUT
}
close OUT;
close IN;
我現在看到的是,標準的做法是現在做到這一點:
open my $IN, '<', 'filename.txt' or die;
open my $OUT, '>', 'filename.new' or die;
我的「時,在羅馬,」我努力做的事情的正確方法的忠實粉絲。在那張紙上,我的第一個方法是錯誤的嗎?它有我不知道的影響或風險嗎?
副手一個缺點接近#1,這將彙編(可能運行)在Perl,甚至狹窄開啓:
open IN, 'filename.txt' or die;
open OUT, '>filename.new' or die;
while (<NOT_EVEN_CLOSE>) {
print OUT
}
close OUT;
close IN;
另一個可能的原因是,你可以通過$IN
爲(?)一個參數?有點像靜態類和單例之間的區別?我正在抓那根吸管。
最後,假設方法2更正確或更好,我是否應該回頭修改舊代碼以在方法論中應用此更改?
另外,在我忙於Perl的繁重日子裏,我仍然處於一種杞人憂天的狀態,所以如果這是一個十年的慣例,請原諒我的無知。