我有一個perl腳本,它打開一個文件並在其中寫入一些數據。有時這個文件在某些機器上只具有隻讀權限。對於這種情況,目前腳本因無法打開文件而死亡。我的要求是,在這種情況下,我希望我的腳本繼續,而不是將文件寫入文件,將其放入STDOUT。我將使用warn
而不是die,但我想知道我可以將我的文件句柄FILE1
別名爲STDOUT
,這樣我就不必修改剩餘的代碼,原因在於我的實際代碼print FILE1 <>
存在於許多地方,並且不是我可能把if\else
條件無處不在。我希望我會別名FILE1
到STDOUT
,這樣打印語句將以STDOUT輸出或寫入文件,具體取決於文件句柄FILE1
中設置的值。是否有可能使用Perl?別名文件句柄到STDOUT perl
$file = "testfile.txt";
open(FILE1, ">> $file") or die "Can not read file $file: $! \n";
print FILE1 "Line1 \n";
print FILE1 "Line2 \n";
print FILE1 "Line3 \n";
print FILE1 "Line4 \n";
close FILE1
可能的複製http://stackoverflow.com/questions/3807231/how-can- i-test-if-i-can-write-to-a-filehandle – devnull