Thread Fehlererkennung bei Programmausführung mit "open" (5 answers)
Opened by thuhn at 2005-11-29 17:57

thuhn
 2005-11-29 17:57
#60559 #60559
User since
2005-11-29
3 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich sammele in einem Perlprogramm eine Liste von Dateien zusammen aus denen ein Tar-Paket erzeugt werden soll. Diese werden an das tar-Programm per xargs übergeben. Ich könnte natürlich die Dateien auch erst in eine Datei schreiben und mit "tar ... -T file" arbeiten, aber irgendwie muss es doch auch möglich sein den Fehler beim "open" zu erkennen.

Folgender Code:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
if ( open(TAR, "| xargs -0 tar czf $patchFile") )
{
foreach my $file ( @filelist )
{
print TAR "$file\0";
}
} else
{
# Fehlerbehandlung
print "Hat nicht funktioniert\n";
}
close(TAR);
print "Alles ok\n";


Folgendes Problem:
Kann z.B. die Zieldatei nicht angelegt werden sehe ich zwar eine entsprechende Meldung auf STDERR, die "# Fehlerbehandlung" wird aber nie durchlaufen und stattdessen wird "Alles ok" angezeigt.

Wie kann man bei "open" den Fehler abfangen?

Crian: Code-Tags\n\n

<!--EDIT|Crian|1133779220-->

View full thread Fehlererkennung bei Programmausführung mit "open"