Hallo,
ich mache meine ersten sehr zögerlichen Schritte mit Perl (um ein bisserl mit Jabber zu spielen) und möchte gerne Net::Jabber aktualisieren. Frage ist nut wie?
Ich will mich nicht mit dpkg anlegen, müßte es also irgendwo unter /usr/local ablegen. Aber findet mein Script es dort auch? Oder kann ich es einfach in meinem Home 'neben' mein Script legen (ist ja im Moment nur Spielerei)? Kennt Perl sowas wie CLASSPATH?
Ich seh schon, sollte wohl doch mal ein gutes Perlbuch suchen (kennt jemand was)
Und gleich noch eine Frage: Perl hat ja die Fähigkeit aus sich heraus Module zu installieren und zu aktualisieren (CPAN). Ist dies unter Debian empfohlen oder beißt sich das mit dem Packetmanagment?
Gruß Bert
aktualisierung von Perl Modulen
aktualisierung von Perl Modulen
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de
- godsmacker
- Beiträge: 902
- Registriert: 16.03.2003 21:50:26
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: Chemnitz
-
Kontaktdaten:
Re: aktualisierung von Perl Modulen
Hallo Bert,
'.' befindet sich immer in @INC, also kannst Du Deine Module immer dir Deines Skripts ablegen. Ist aber in meinen Augen nicht ganz so toll. Wenn ein Modul in @INC gesucht wird, dann geht es der Reihenfolge nach. Wenn /usr/local/lib/perl/5.8.4 zum Beispiel vor /usr/lib/perl/5.8.4/ in @INC steht, dann wird zuerst dort nachgesehen. Du koenntest also eine neuere Version Problemlos in /usr/local installlieren. Ist aber auch nicht unbedingt sinnvoll. Wozu sollte man 2 verschiedene Versionen eines Moduls installiert haben, wenn man nur eine nutzt (nutzen kann).
Du kannst @INC uebrigens auch in Deinem code beeinflussen wie einen normalen Array. Wenn Du Module allerdings zur Kompilierzeit laden willst (use FooBar;), dann muss das auch vorher passieren. Das kannst Du entweder mit einem Block oder mit dem lib Pragma machen.
Wenn Du eine neuere Version eines Moduls brauchst, welches es schon im Pool gibt, dann solltest Du einen wishlist bug filen. Wenn es das Modul noch nicht gibt, dann kannst Du einen RFP Bug fuer das wnpp Paket erstellen und, da es ja um Perl geht, auch ein Tracker Item bei der [1]Debian Perl Group hinzufuegen.
1. pkg-perl.alioth.debian.org
alioth.debian.org/projects/pkg-perl
Wenn Du eine dieser beiden Moeglichkeiten nutzt kann es aber etwas dauern bis Du das Paket hast. Um mal quick und dirty ein Paket eines Perl Moduls zu erstellen gibt's aber dh-make-perl. Damit ist ein Perl Modul verdammt schnell paketiert, wenn's auch kein sehr gutes Paket ist (sprich nicht geeignet um in's offizielle repository aufgenommen zu werden).
Ich hoffe das hilft,
Florian
Deine Meinung zu Perl klang auf dem Chemnitzer Linuxtag aber noch andersBert hat geschrieben:ich mache meine ersten sehr zögerlichen Schritte mit Perl (um ein bisserl mit Jabber zu spielen) und möchte gerne Net::Jabber aktualisieren. Frage ist nut wie?
Perl kennt sowas wie @INC. Das ist ein array, in dem sich die Orte befinden in denen Perl nach Modulen usw. schaut.Ich will mich nicht mit dpkg anlegen, müßte es also irgendwo unter /usr/local ablegen. Aber findet mein Script es dort auch? Oder kann ich es einfach in meinem Home 'neben' mein Script legen (ist ja im Moment nur Spielerei)? Kennt Perl sowas wie CLASSPATH?
'.' befindet sich immer in @INC, also kannst Du Deine Module immer dir Deines Skripts ablegen. Ist aber in meinen Augen nicht ganz so toll. Wenn ein Modul in @INC gesucht wird, dann geht es der Reihenfolge nach. Wenn /usr/local/lib/perl/5.8.4 zum Beispiel vor /usr/lib/perl/5.8.4/ in @INC steht, dann wird zuerst dort nachgesehen. Du koenntest also eine neuere Version Problemlos in /usr/local installlieren. Ist aber auch nicht unbedingt sinnvoll. Wozu sollte man 2 verschiedene Versionen eines Moduls installiert haben, wenn man nur eine nutzt (nutzen kann).
Du kannst @INC uebrigens auch in Deinem code beeinflussen wie einen normalen Array. Wenn Du Module allerdings zur Kompilierzeit laden willst (use FooBar;), dann muss das auch vorher passieren. Das kannst Du entweder mit einem
Code: Alles auswählen
BEGIN { push @INC, '/foo/bar' }
Code: Alles auswählen
use lib '/foo/bar';
Programming Perl von Meister, Larry Wall, hoechstpersoenlich. Das Perl Cookbook ist auch nett.Ich seh schon, sollte wohl doch mal ein gutes Perlbuch suchen (kennt jemand was)
Das CPAN Modul zum installieren von Modulen mit Debian zu benutzen ist nicht so schlau. Das gibt ziemlich schnell Stress. Mach es besser mit der Paketverwaltung.Und gleich noch eine Frage: Perl hat ja die Fähigkeit aus sich heraus Module zu installieren und zu aktualisieren (CPAN). Ist dies unter Debian empfohlen oder beißt sich das mit dem Packetmanagment?
Wenn Du eine neuere Version eines Moduls brauchst, welches es schon im Pool gibt, dann solltest Du einen wishlist bug filen. Wenn es das Modul noch nicht gibt, dann kannst Du einen RFP Bug fuer das wnpp Paket erstellen und, da es ja um Perl geht, auch ein Tracker Item bei der [1]Debian Perl Group hinzufuegen.
1. pkg-perl.alioth.debian.org
alioth.debian.org/projects/pkg-perl
Wenn Du eine dieser beiden Moeglichkeiten nutzt kann es aber etwas dauern bis Du das Paket hast. Um mal quick und dirty ein Paket eines Perl Moduls zu erstellen gibt's aber dh-make-perl. Damit ist ein Perl Modul verdammt schnell paketiert, wenn's auch kein sehr gutes Paket ist (sprich nicht geeignet um in's offizielle repository aufgenommen zu werden).
Ich hoffe das hilft,
Florian
Re: aktualisierung von Perl Modulen
Räusper, **verlegen dreinschau** Ja stimmt. Leider ist das Python Modul für Jabber nicht halb so flexibel und schön wie das für Perl (auch wenn mir da leider etwas an Doku fehlt)godsmacker hat geschrieben: Deine Meinung zu Perl klang auf dem Chemnitzer Linuxtag aber noch anders
Das denke ich. Danke für die ausführliche Antwort. Mal sehen, ob ich heut noch Lust hab, das zu testen, sonst halt morgen.godsmacker hat geschrieben: Ich hoffe das hilft,
Florian
Gruß Bert
Programmer: A biological machine designed to convert caffeine into code.
xmpp:bert@debianforum.de
xmpp:bert@debianforum.de
- godsmacker
- Beiträge: 902
- Registriert: 16.03.2003 21:50:26
- Lizenz eigener Beiträge: Artistic Lizenz
- Wohnort: Chemnitz
-
Kontaktdaten:
Re: aktualisierung von Perl Modulen
Mach Dir nichts draus. Mir geht es genau umgekehrt mit den XML RPC Modulen von Perl und Python..Bert hat geschrieben:Räusper, **verlegen dreinschau** Ja stimmt. Leider ist das Python Modul für Jabber nicht halb so flexibel und schön wie das für Perl (auch wenn mir da leider etwas an Doku fehlt)godsmacker hat geschrieben: Deine Meinung zu Perl klang auf dem Chemnitzer Linuxtag aber noch anders
Gruss,
Florian