Thread Einbindung von Perl Modulen
(5 answers)
Opened by tk102 at 2020-09-04 10:58 2020-09-04T12:45:02 tk102Na ja, es reicht ja schon, wenn Dein Programm sich merkwürdig verhält, wenn in $Name oder $Message mal etwas drin ist, was in SQL Bedeutung hat. Zum Beispiel ist don't ein gültiger Name für eine Perl-Funktion, und der Apostroph kann auch in Namen und Dateinamen vorkommen. Platzhalter, wie vom Raubtier vorgeschlagen, sind nicht mal sonderlich kompliziert, dafür bist Du aber alle Unsicherheiten beim Inhalt der Datenbankfelder los. 2020-09-04T12:45:02 tk102Die Verbindung fällt dir runter, weil Du $DBLogdbh als lexikalische Variable (mit my) innerhalb Deines Unterprogramms deklariert hast. Nach einem Durchlauf geht $DBLogdbh "out of scope" - und damit wird die Datenbankverbindung automatisch geschlossen. Die einfachste Möglichkeit, das zu verhindern: Deklariere my $DBLogdbh; vor Deinem Unterprogramm, aber in der gleichen Datei. Um das Schließen der Datenbank-Verbindung brauchst Du Dich nicht zu kümmern, wenn Du es sowieso erst am Ende des Programms machen willst: Das erledigt Perl von alleine. Und natürlich fällt Dir die Verbindung auch beim Aufruf von LogDb($Modul,"Z", "End"); abgebaut... |