Mam skrypt Perla, który otwiera plik i zapisuje w nim pewne dane. Czasami ten plik ma uprawnienia tylko do odczytu na niektórych komputerach. W takich przypadkach skrypt obecnie umiera, ponieważ nie mógł otworzyć pliku. Moim wymaganiem jest, że w takich przypadkach chcę, aby mój skrypt był kontynuowany i zamiast zapisywać zawartość w pliku, umieszcza go w STDOUT. Będę używał warn
zamiast matrycy, ale chcę wiedzieć, czy mogę alias mój uchwyt pliku FILE1
do STDOUT
tak, że nie muszę modyfikować pozostałego kodu, powodem jest mój kod rzeczywisty print FILE1 <>
jest obecny w wielu miejscach i nie jest możliwe do umieszczenia wszędzie warunków if\else
. Chcę, aby nazwa ta była alias FILE1
do STDOUT
takie, że polecenie print wypisze je w STDOUT lub zapisze w pliku w zależności od wartości ustawionej w FILE1
uchwyt pliku. Czy to możliwe, używając perla?Uchwyt pliku aliasu do STDOUT w perlu
$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
Możliwy duplikat http://stackoverflow.com/questions/3807231/how-can- i-test-if-i-can-write-to-a filehandle – devnull