Error: Runtime exception
Gernot Weber
- perl
Guten Tag Zusammen!
Ich habe folgendes Problem:
Ein Perl-Skript bricht, nachdem es eine Zeit lang gelaufen ist und auch einige Anweisungen ausgeführt hat, mit der Meldung
"Error: Runtime exception" aus heiterem Himmel ab.
Leider weiss ich im Moment nicht, wo ich hier ansetzen soll.
Kann mir jemand einen Ansatz geben?
Viele Grüße
Gernot Weber
Hallo Gernot,
Ein Perl-Skript bricht, [...], mit der Meldung
"Error: Runtime exception" aus heiterem Himmel ab.
[...]
Kann mir jemand einen Ansatz geben?
Verwende erstmal "use strict;" und "-w" und laß Dir regelmäßig Ausgaben Deiner Werte, oder einfach nur Hinweise, wo das Skript sich gerade befindet, auf den Screen schreiben. Dann kannst Du vielleicht den Ort des Fehlers ein wenig einengen.
Gruß AlexBausW
Please visit my SELFvisitingcard @ http://www.atomic-eggs.com/selfspezial/daten/150.html
Hallo Alex,
danke erstmal für den Tipp.
Ich bekomme nun zu jeder Variablen, die ich benutze, die Meldung:
Global Symbol "$variable" requires explicit package name at NameundPfaddesPerlscriptes Line x
Was soll das? Kapier ich nicht!
Kann mir einer noch nen Tipp geben? Danke
Gruss Gernot
Hallo Gernot,
Ich bekomme nun zu jeder Variablen, die ich benutze, die Meldung:
Global Symbol "$variable" requires explicit package name at NameundPfaddesPerlscriptes Line x
Was soll das? Kapier ich nicht!
Kann mir einer noch nen Tipp geben? Danke
Das ist eine Auswirkung von "use strict". Entweder Du greifst mit dem Packetnamen auf die Variable zu (z.B. $main::test) oder aber, was natuerlich sinnvoller ist, Du lokalisierst Deine Variablen mit "my".
siehe:
perldoc strict;
perldoc -f my;
Gruss Gernot
»»
Gruss
Kai
Hi!
oder aber, was natuerlich sinnvoller ist, Du lokalisierst Deine Variablen mit "my".
Sagen wir besser, die Variablen muessen "deklariert" werden. Zwar hast Du technisch gesehen Recht, Kai, aber der (logische) Sinn von use strict ist ja eben, dass man keine undeklarierten Variablen mehr verwenden kann und somit leichter Fehler findet.
Vor dem ersten Zugriff auf eine Variable also
my $variable;
hinschreiben.
siehe:
perldoc strict;
perldoc -f my;
und
perldoc perlsub
Gernot, Du wirst das jetzt wahrscheinlich fuer einen ziemlich grossen Aufwand halten, das alles zu lesen und Dein Script dann aufzupolieren, aber Du wirst sehen, auf Dauer lohnt es sich.
So long
Hallo!
Ich werds versuchen!
Gernot, Du wirst das jetzt wahrscheinlich fuer einen ziemlich grossen Aufwand halten, das alles zu lesen und Dein Script dann aufzupolieren, aber Du wirst sehen, auf Dauer lohnt es sich.
So schlimm ist es nicht.
Zunächst mal danke. Ich begebe mich jetzt ans aufpolieren...
Viele Grüße
Gernot