Thread Eigenes Perl-Modul schreiben.... (11 answers)
Opened by [HR]Doomrunner at 2003-09-16 19:21

havi
 2003-09-16 22:01
#52777 #52777
User since
2003-08-04
2036 Artikel
BenutzerIn
[Homepage]
user image
Das hat Strat mal dazu auf www.perl.de gepostet...

Ich hab nur unwichtige Dinge geƤndert (Namen usw.)

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
So erstellt man ein vernuenftiges Modul (ohne XS, nur Perl) mit dem Namen TestModul
das man auch auf CPAN veroeffentlichen koennte.



1. Modulrahmen erstellen
========================

C:\Module>h2xs -XA -n TestModul
Writing TestModul/TestModul.pm
Writing TestModul/Makefile.PL
Writing TestModul/README
Writing TestModul/test.pl
Writing TestModul/Changes
Writing TestModul/MANIFEST

Es wurden im Verzeichnis ./TestModul einige Dateien erstellt. Wechseln wir mal dort rein ( cd TestModul ).



2. Funktionen oder Methoden einbauen
====================================
Jetzt hat man einen Rahmen, in den man sein Zeug einbauen kann.
Achtung: Bei Perl 5.6.1 wird in dem Modul our verwendet, ein Befehl, den es bei Perl 5.0 noch nicht gibt.

In der Datei TestModul.pm steht ziemlich am Anfang 'Preloaded methods go here'
Dort wird nun folgendes eingefuegt:

sub PrintHello {
my ($param) = @_;
print "Hello, $param\n";
}

Dann wird die Liste mit den Exporttags geloescht, sodass dort steht:

our %EXPORT_TAGS = ();
our @EXPORT = qw();

Ganz unten gibt es einem Punkt und dort steht ein Grundgeruest fuer die Moduldokumentation.
Dort wird die Dokumentation zu diesem Modul eingefuegt.



3. Testen, ob das Modul korrekt ist
===================================

C:\Module\TestModul>perl -e "use TestModul; &TestModul::PrintHello('TestModul')"
Hello, TestModul



4. Uebersetzen und testen
=========================

C:\Module\TestModul>perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for TestModul


C:\Module\TestModul>nmake
Microsoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

cp TestModul.pm blib\lib\TestModul.pm


C:\Module\TestModul>nmake test

Microsoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

C:\Perl\bin\perl.exe -Iblib\arch -Iblib\lib -IC:\Perl\lib -IC:\Perl\lib test.pl
1..1
ok 1



5. Zu einem tar-Archiv zusammenpacken ( dieser Teil funktioniert hier leider nicht )
=====================================

C:\Module\TestModul>nmake tardist

Microsoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.

C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e rm_rf TestModul-0.01
C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Manifest=manicopy,maniread -e "manicopy(maniread(),'TestModul-0.01', 'best');"
mkdir TestModul-0.01
tar cvf TestModul-0.01.tar TestModul-0.01
TestModul-0.01/
TestModul-0.01/Changes
TestModul-0.01/Makefile.PL
TestModul-0.01/MANIFEST
TestModul-0.01/README
TestModul-0.01/TestModul.pm
TestModul-0.01/test.pl
C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e rm_rf TestModul-0.01
gzip --best TestModul-0.01.tar



Jetzt hat man eine Datei Namens TestModul-0.01.tar, die man wie andere Module von CPAN installieren kann.

Unter Unix verwendet man anstelle von nmake einfach make...


Gruss

View full thread Eigenes Perl-Modul schreiben....