Thread Probs beim erstellen eines Modules (7 answers)
Opened by pktm at 2003-12-10 16:19

Strat
 2003-12-10 18:21
#75373 #75373
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=renee,10.12.2003, 15:36]mach mal in deinem new
Code: (dl )
1
2
3
sub new{
 bless($self,$class);
}
[/quote]
besser $self und $class zuerst erzeugen/uebernehmen, sonst funktioniert's nicht:
Code: (dl )
1
2
3
4
5
sub new {
 my $class = shift;
 my $self = {}; # oder was auch immer
 bless ($self, $class);
}


@havi: Anmerkungen zum Modulbauen:

1. ein eigenes Modul, das man installieren will, am besten mit
Code: (dl )
1
2
3
4
perl Makefile.PL PREFIX=/eigenes/Modul/Verzeichnis
make
make test
make install

in ein eigenes Verzeichnis installieren, weil sonst die Gefahr besteht, dass man es aus dem Perl-Verzeichnis nicht mehr sauber herausbekommt und so eventuelle Ueberbleibsel ein Problem darstellen koennten. Das eigene Verzeichnis loescht man einfach.

2. Wenn das Modul von irgendwelchen Nicht-Standardmodulen abhaengig ist, muss man in der Makefile.PL angeben, welche Module da bei Bedarf installiert werden muessen. Dies geschieht in der Zeile, wo PREREQ_PM steht, z.B.
Code: (dl )
1
2
3
4
  'PREREQ_PM' => {    Modulname1 => 0.01,
   Modulname2 => 1.2,
   Modulname3 => 0.41
 },


3. Das Testen taugt so nicht wirklich was, ist naemlich nur, ob das Modul korrekt geladen werden konnte.
Wenn das Modul alle Funktionalität hat (bzw. besser noch waehrend oder vor der Entwicklung), sollte man noch einen oder mehrere Tests dafür in der Datei t/1.t angeben. Für weitere Tests erstellt man einfach weitere Dateien wie 2.t, 3.t, ... Beim Testen sollte man auch darauf achten, daß möglichst alles getestet wird, daß auch Fehlverhalten getestet wird, und auch auf das Betriebssystem geachtet wird (es macht z.B. wenig Sinn, wenn die Tests eines Modul, das verschiedene Windows-Erweiterungen benützt und somit nur unter Windows laufen kann, unter Linux fehlerfrei laufen, wenn das Modul gar nicht laufen kann). Hilfreiche Module für Tests sind: Test::Harness, Test::Simple, Test::More.

4. Hilfreich waere wohl auch noch ein Link, von wo man nmake downloaden kann: ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe\n\n

<!--EDIT|Strat|1071073598-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/

View full thread Probs beim erstellen eines Modules