我有一條線類似於以下配置perl的更嚴格的文件IO錯誤
my $in = new IO::File ($fn)
or warn "Sorry, there was a problem opening $fn: $!\n",
and return;
在我的系統如果由$fn
指定的文件路徑不存在一個perl腳本,它會顯示警告並從該函數返回。
一個系統,但是,它正在打印標準could not open {file path}: No such file or directory
並退出腳本而不是打印我提供的報警並返回。
我已將代碼更改爲更具防禦性,在打開它之前檢查文件是否存在。然而,瞭解這種差異的原因是很有用的,這樣我可以在未來正確地測試我的代碼,而無需發佈並等待錯誤報告。
是否有一些針對perl的配置,當文件不存在等錯誤發生時,它會更加嚴格?
我不假設某人在使用Acme :: use :: strict :: with :: pride;時將某個其他文件隱藏,不看,是嗎? :) – Ether 2010-11-08 16:58:07
這看起來沒有語法上的有效性。有沒有理由你沒有使用更清晰的語法,如:'除非(我的$ input_handle = IO :: File-> new($ filename)){警告「不能IO :: File-> new($ filename) :$!「;返回; }'?另外爲什麼你不只是調用'open'而不是在所有模塊垃圾中彈跳? – tchrist 2010-11-08 16:59:51