Bastian Kurz: Modul installiert?

Hallo.

Ich muß ein Script installieren für das das Perl-Modul DBI benötigt wird.
Das Script funktioniert nicht und ich frage mich, ob es vielleicht daran liegt, daß dieses Modul fehlt. Die Fehlermeldung, die ich erhalte liegt nämlich dort in der Nähe..

Das ist der Code:
 use DBI;
   my $dbh = DBI->connect("DBI:$dbdriver:$dbdatabase:$dbhost:$dbport", $dbuser, $dbpassword, { PrintError => 0, RaiseError => 0 } );
   $sth = $dbh->prepare($anfrage) || die "Kann Statement nicht vorbereiten: $DBI::errstr\n";

Zeile 1 mit use DBI; gibt noch keinen Fehler. Heißt das, es ist installiert? Wie kann ich per Script abfragen, welche Module installiert sind?

Meine Fehlermeldung ist:
Can't call method "prepare" on an undefined value at ...
Den Aufruf der Methode sehe ich ja im Code. Aber wieso wird hier nicht die die()-Funktion aufgerufen? Sollte das nicht passieren oder klappt das nicht, weil es die Methode gar nicht gibt?

Danke.

  1. Hallo Bastian.

    my $dbh = DBI->connect("DBI:$dbdriver:$dbdatabase:$dbhost:$dbport", $dbuser, $dbpassword, { PrintError => 0, RaiseError => 0 } );

    Fange auch hier Fehlermeldungen mit die "$DBI::errstr" ab.
    Benutzt du "use strict"? Dann fehlt ein my vor $sth.
    Sind auch alle Variablen definiert, die du in deinen Methodenaufrufen verwendest?

    Freundschaft!
    Siechfred

    --
    Punk's not dead: http://www.siechfreds-welt.de/badreligion.shtml
    Dankbarkeit, man spürt sie ja so selten bei den Menschen, und gerade die Dankbarsten finden nicht den Ausdruck dafür, sie schweigen verwirrt, sie schämen sich und tun manchmal stockig, um ihr Gefühl zu verbergen. (Stefan Zweig)
    ie:) fl:) br:? va:{ ls:? fo:§ rl:( n4:} ss:? de:µ js:{ ch:° sh:( mo:? zu:}