Ich habe ein Perl-Skript, das eine Datei öffnet und einige Daten darin schreibt. Manchmal hat diese Datei auf einigen Computern nur Leseberechtigungen. In solchen Fällen stirbt das Skript zur Zeit ab, da es die Datei nicht öffnen konnte. Meine Anforderung ist, dass ich in solchen Fällen möchte, dass mein Skript fortfährt und anstatt den Inhalt in eine Datei zu schreiben, legt es in STDOUT ab. Ich werde die anstelle von sterben, aber ich möchte wissen, kann ich Alias meine Datei behandeln FILE1
zu STDOUT
so, dass ich muss nicht den restlichen Code ändern, Grund in meinem tatsächlichen Code ist print FILE1 <>
ist an vielen Stellen vorhanden und ist nicht möglich für mich, if\else
Bedingungen überall zu setzen. Ich möchte, dass ich Alias FILE1
zu STDOUT
so dass print-Anweisung wird es entweder in STDOUT ausgeben oder in Datei schreiben je nach dem Wert in FILE1
Dateihandle gesetzt. Ist es möglich, Perl zu verwenden?Alias-Datei-Handle zu STDOUT in 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
Mögliche Duplikat http://stackoverflow.com/questions/3807231/how-can- i-test-wenn-ich-kann-schreibe-in-ein-Dateihandle – devnull