Eigene Module und Bibliotheken funktionieren nicht

Alles, was Perl betrifft, kann hier besprochen werden.

Eigene Module und Bibliotheken funktionieren nicht

Postby ar_olc » 09. July 2007 15:45

Jetzt schreibsel ich schon seit einiger Zeit erfolgreich CGI-Skripte in Perl für XAMPP (Windows).

Um den Funktionsverhau zu entflechten wollte ich jetzt diverse Funktionen in eine Modul auslagern und dieses installieren.

Das Problem ist, dass die Funktionen dann nicht funktionieren (hach welch Wortspiel), sondern eine mysteriöse Fehlermeldung kommt.

Beispiel:

Undefined subroutine &ModPerl::ROOT::ModPerl::Registry::D_3a_Wissensdatenbank_htdocs_olc_neu_projektform1_2epl::l_zweispalten called at D:/Wissensdatenbank/htdocs/olc_neu/projektform1.pl line 31.


Was ich aber sicher sagen kann, ist, dass das von mir geschriebene Modul gefunden wird. Wenn ich es nämlich entferne meckert perl darüber, dass es nicht in @INC ist.

So jetzt noch der Anfang meines Moduls:

Code: Select all
package OLCprj;

use 5.008008;
use strict;
use warnings;
use DBI;                                # Generisches Datenbankinterface, benoetigt fuer mysql (Projektdb)

use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);

require Exporter;

our @ISA = qw(Exporter);

# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.

# This allows declaration   use OLCprj ':all';
# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
# will save memory.



our %EXPORT_TAGS = ( 'all' => [ qw(
) ] );

our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );

our @EXPORT = qw(
   
);

our $VERSION = '0.01';

print "OLCprj.pm loaded.\n";

sub l_zweispalten   # Voll lokalisiert. Referenzen fuer Datenbankhandle gehen wohl. Bibliotheksreif.
{
   my $fn=shift;
   my $r_pdbh=shift;
   my $table=shift;
   my $sth=$$r_pdbh->prepare("SELECT * FROM $table") or die "Fehler beim Datenbankzugriff: ".$$r_pdbh->errstr;
   $sth->execute()
      or die "Fehler beim Datenbankzugriff: ".$sth->errstr;
   my @data;
   while (@data = $sth->fetchrow_array())
   {
      $$fn{$data[0]}=$data[1];
   }
}


1;
__END__




Was geht hier bitte schön schief?

Schöne Grüße,
Moritz
ar_olc
 
Posts: 10
Joined: 09. July 2007 15:32

Return to Perl

Who is online

Users browsing this forum: No registered users and 3 guests