Thread Rechnung als PDF in Perl erzeugen (23 answers)
Opened by root at 2004-12-16 22:59

renee
 2004-12-20 17:52
#50061 #50061
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=root,20.12.2004, 14:49]Ja, genau soetwas habe ich vor.
Ich weiß zwar nicht wie ein modul mache, [...][/quote]
Hoffentlich bald wieder im Wiki zu finden (da open-ionix das Thema gelöscht hat). Lang lebe Google-Cache ;)

Quote
Jetzt erklaere ich mal, wie man ein vernuenftiges Modul (ohne XS, nur Perl) namens Strat.pm schreibt (das man auch auf CPAN oder so veroeffentlichen koennte)

1. Modulrahmen erstellen:


C:\module>h2xs -XA -n Strat
Writing Strat/Strat.pm
Writing Strat/Makefile.PL
Writing Strat/README
Writing Strat/test.pl
Writing Strat/Changes
Writing Strat/MANIFEST
[font]

Hat im Verzeichnis ./Strat einige Dateien erstellt. Wechseln wir mal dort rein ( cd Strat).

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 perl5.0 noch nicht gibt).
Fuegen wir also mal an die Stelle in der Datei Strat.pm, an der steht
# Preloaded methods go here
das folgende ein:


sub Printh*llo {
my ($param) = @_;
print "h*llo, $param\n";
}



Dann loeschen wir oben die Liste mit den Exporttags, sodass dort steht:


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




(Wir wollen doch nicht den Namensraum des Hauptprogrammes verunreinigen, oder?)

Dann schauen wir ganz nach unten nach dem Punkt , und wir sehen dort ein Grundgeruest fuer die Moduldokumentation. Dort fuegen wir die Dokumentation zu diesem Modul ein (bitte auf Englisch, damit das Modul auch international verwendet werden kann, ok?)
Speichern nicht vergessen.

3. Testen, ob das Modul korrekt ist:



C:\module\Strat>perl -e "use Strat; &Strat::Printh*llo('strat')"
h*llo, strat


4. Uebersetzen und testen


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

C:\module\Strat>nmake

Microsoft ® Program Maintenance Utility Version 1.50
Copyright © Microsoft Corp 1988-94. All rights reserved.

cp Strat.pm blib\lib\Strat.pm

C:\module\Strat>nmake test

Microsoft ® Program Maintenance Utility Version 1.50
Copyright © 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

C:\module\Strat>nmake tardist

Microsoft ® Program Maintenance Utility Version 1.50
Copyright © Microsoft Corp 1988-94. All rights reserved.

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




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

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

So baut man ein Modul
Gruss, perl -le "s==*F=e=>y~\*martinF~stronat~=>s~[^\w]~~g=>chop,print"
http://www.fabiani.net/
\n\n

<!--EDIT|renee|1103558064-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Rechnung als PDF in Perl erzeugen