Hallo
Ich habe vereinfacht gesagt folgende Situation:
Ein skript.pl bentutz ein Modul.pm und dort subs:
skript.pl:
use Modul.pm
Modul::subs();
in Modul.pm:
(..)
die print "error";
(..)
wie kann ich es schaffen dass Modul zwar das print ausführt nach dem "die" aber trotzdem nicht stirbt sondern einfach zurück springt zu skript.pl ?
return ist da natürlich keine Lösung, weil ich das "die" in den meisten fällen brauche.
An Modul.pm kann ich auch keine größeren Änderungen durchführen, sollte also wenn möglich alle in skript.pl laufen.
Viele Grüße
MB
User since
2003-08-21
2614
Artikel
ModeratorIn
sub funktion_in_modul {
print "error";
die "error";
}
eval {
funktion_in_modul();
1;
} or do {
print "Es trat ein Fehler auf: $@";
# Oder einfacher:
warn; # Ohne Argumente, gibt "error caught at ..." aus.
};
Beachte, dass ich
die print "error" getrennt habe.. ansonsten waere der Text der Exception "1", naemlich der Rueckgabewert von print.
perldoc -f eval
Super...
Jetzt hab ich auch endlich mal gelernt wozu "eval" gut ist^^
User since
2004-03-22
5697
Artikel
ModeratorIn + EditorIn
vielleicht möchtest dir auch mal
autodie ansehen