das abfangen mittels funktion und exit klappt. solange sich etwas abfangen lässt. datenbankabfragen zum beispiel lassen sich gar nicht mehr abfangen, da der or zweig nicht mehr abgearbeitet wird. ansonsten liegt es am die. schreibe ich irgenwo im quelltext die() so wird sofort ins hauptprogramm zurückgesprungen.
den code kann ich leider nicht posten da es über 10k zeilen sind.
hier mal ein kleines beispiel zur verdeutlichung
haupt.pl:
use strict;
use modul1;
mach_was();
print "Hier bin ich";
modul.pm
use strict;
use modul2;
sub mach_was {
mach_weiter();
exit;
}
modul2.pm
use strict;
sub mach_weiter {
print "hallo ";
die("fehler");
exit;
}
resultat:
hallo
hier bin ich
natürlich würde diese programm fehlerfrei laufen, ich fürchte das irgendein modul dafür verantwortlich ist. hier mal eine liste von allen fertigen modulen/pragmas die ich verwende:
use strict;
use CGI::Carp qw(fatalsToBrowser);
use DBI;
use File::Copy;
use Fcntl qw(:flock);
use LWP::Simple;
use LWP::UserAgent;
use HTTP::Response;
use HTTP::Request;
use URI::Escape;
mehr kann ich leider nicht sagen, es ist zum verfluchen.
gruss
volker