Hi,
ich habe ein Problem, wenn ich irgendwelche Systembefehle oder Shellbefehle (also alles, was in so accent grave-Zeichen eingeschlossen ist) im Fehlerfall mit einem "or die" beenden will, funktioniert das nicht. Das or die wird immer ausgeführt, egal ob der vorhergehende Befehl erfolgreich war oder nicht.
also ein `cp $datei $ziel` or die "nicht kopiert"; führt immer zur Ausgabe "nicht kopiert".
Wenn ich das Ganze in system(`cp $datei $ziel`) or die "nicht kopiert"; packe, ist es angeblich immer erfolgreich, auch wenn nichts kopiert werden konnte.
Derzeit wird halt danach die Dateigröße von beiden Dateien geprüft und falls die nicht gleich groß sind, ein Fehler ausgespuckt. Finde ich persönlich aber unschön und ich hätte es gerne mit or die gelöst.
Irgendwelche Ideen?
anddie
ich habe ein Problem, wenn ich irgendwelche Systembefehle oder Shellbefehle (also alles, was in so accent grave-Zeichen eingeschlossen ist) im Fehlerfall mit einem "or die" beenden will, funktioniert das nicht. Das or die wird immer ausgeführt, egal ob der vorhergehende Befehl erfolgreich war oder nicht.
also ein `cp $datei $ziel` or die "nicht kopiert"; führt immer zur Ausgabe "nicht kopiert".
Wenn ich das Ganze in system(`cp $datei $ziel`) or die "nicht kopiert"; packe, ist es angeblich immer erfolgreich, auch wenn nichts kopiert werden konnte.
Derzeit wird halt danach die Dateigröße von beiden Dateien geprüft und falls die nicht gleich groß sind, ein Fehler ausgespuckt. Finde ich persönlich aber unschön und ich hätte es gerne mit or die gelöst.
Irgendwelche Ideen?
anddie