Perl-Module nachinstallieren ...
Sollte ein Perl-Modul gebraucht werden, was noch nicht installiert ist, führt der erste und wichtigste Blick in die Paketverwaltung.
Dort stehen die Modulnamen meistens in den Beschreibungen "aptitude search ~dNet::Amazon". Wenn das Modul in einer Version vorhanden ist, die Ihr gebrauchen könnt, installiert und nutzt es. Der Vorteil der Paketverwaltung ist, dass Ihr Euch um Sicherheits- und andere Updates nicht mehr kümmern müsst.
Wenn Ihr eine höhere Versionsnummer als die vorhandene benötigt, könnt Ihr vielleicht das entsprechende Paket einer aktuelleren Version von Ubuntu benutzen. Hier hilft apt-pinning. Das ist aber nicht das Thema dieses Postings, dazu schreibe ich später noch etwas.
Funktioniert auch das nicht, müssen die Module via CPAN installiert werden.
Die installierten Module sollen nach ~/PerlMod/lib und die man-Pages nach ~/PerlMod/man.
Dazu habe ich mir eine MyConfig.pm erstellt, die unter ~/.cpan/CPAN liegt. Solltet Ihr diese übernehmen, prüft bitte, ob die Programme, die dort erwähnt werden auch alle vorhanden sind. Sonst nachinstallieren oder die Variable löschen.
$CPAN::Config = {
'build_cache' => q[10],
'build_dir' => q[~/.cpan/build],
'cache_metadata' => q[1],
'cpan_home' => q[~/.cpan],
'cpan_version_check' => q[1],
'dontload_hash' => { },
'ftp' => q[/usr/bin/ftp],
'ftp_proxy' => q[],
'getcwd' => q[cwd],
'gpg' => q[/usr/bin/gpg],
'gzip' => q[/bin/gzip],
'histfile' => q[~/.cpan/histfile],
'histsize' => q[100],
'http_proxy' => q[],
'inactivity_timeout' => q[0],
'index_expire' => q[1],
'inhibit_startup_message' => q[0],
'keep_source_where' => q[~/.cpan/sources],
'lynx' => q[/usr/bin/lynx],
'make' => q[/usr/bin/make],
'make_arg' => q[],
'make_install_arg' => q[UNINST=0],
'makepl_arg' => q[PREFIX=~/PerlMod/lib LIB=~/PerlMod/lib INSTALLMAN1DIR=~/PerlMod/man/man1 INSTALLMAN3DIR=~/PerlMod/man/man3],
'ncftpget' => q[/usr/bin/ncftpget],
'no_proxy' => q[],
'pager' => q[/usr/bin/less],
'prerequisites_policy' => q[ask],
'scan_cache' => q[atstart],
'shell' => q[/bin/bash],
'tar' => q[/bin/tar],
'term_is_latin' => q[0],
'unzip' => q[/usr/bin/unzip],
'urllist' => [q[http://cpan.mirror.solnet.ch]],
'wget' => q[/usr/bin/wget],
};
1;
__END__
Um die Module verwenden zu können, muss entweder in das Perl-Skript die Zeile aufgenommen werden oder die Umgebungsvariable
Ich tendiere zur ersten Variante, da damit auch andere User des Rechners (wie beispielsweise auch root) die Skripte ausführen können, ohne etwas umstellen zu müssen (vorausgesetzt sie haben Leserechte auf das PerlMod-Verzeichnis und den dazugehörigen Unterverzeichnissen und Daten).
Dort stehen die Modulnamen meistens in den Beschreibungen "aptitude search ~dNet::Amazon". Wenn das Modul in einer Version vorhanden ist, die Ihr gebrauchen könnt, installiert und nutzt es. Der Vorteil der Paketverwaltung ist, dass Ihr Euch um Sicherheits- und andere Updates nicht mehr kümmern müsst.
Wenn Ihr eine höhere Versionsnummer als die vorhandene benötigt, könnt Ihr vielleicht das entsprechende Paket einer aktuelleren Version von Ubuntu benutzen. Hier hilft apt-pinning. Das ist aber nicht das Thema dieses Postings, dazu schreibe ich später noch etwas.
Funktioniert auch das nicht, müssen die Module via CPAN installiert werden.
Die installierten Module sollen nach ~/PerlMod/lib und die man-Pages nach ~/PerlMod/man.
Dazu habe ich mir eine MyConfig.pm erstellt, die unter ~/.cpan/CPAN liegt. Solltet Ihr diese übernehmen, prüft bitte, ob die Programme, die dort erwähnt werden auch alle vorhanden sind. Sonst nachinstallieren oder die Variable löschen.
$CPAN::Config = {
'build_cache' => q[10],
'build_dir' => q[~/.cpan/build],
'cache_metadata' => q[1],
'cpan_home' => q[~/.cpan],
'cpan_version_check' => q[1],
'dontload_hash' => { },
'ftp' => q[/usr/bin/ftp],
'ftp_proxy' => q[],
'getcwd' => q[cwd],
'gpg' => q[/usr/bin/gpg],
'gzip' => q[/bin/gzip],
'histfile' => q[~/.cpan/histfile],
'histsize' => q[100],
'http_proxy' => q[],
'inactivity_timeout' => q[0],
'index_expire' => q[1],
'inhibit_startup_message' => q[0],
'keep_source_where' => q[~/.cpan/sources],
'lynx' => q[/usr/bin/lynx],
'make' => q[/usr/bin/make],
'make_arg' => q[],
'make_install_arg' => q[UNINST=0],
'makepl_arg' => q[PREFIX=~/PerlMod/lib LIB=~/PerlMod/lib INSTALLMAN1DIR=~/PerlMod/man/man1 INSTALLMAN3DIR=~/PerlMod/man/man3],
'ncftpget' => q[/usr/bin/ncftpget],
'no_proxy' => q[],
'pager' => q[/usr/bin/less],
'prerequisites_policy' => q[ask],
'scan_cache' => q[atstart],
'shell' => q[/bin/bash],
'tar' => q[/bin/tar],
'term_is_latin' => q[0],
'unzip' => q[/usr/bin/unzip],
'urllist' => [q[http://cpan.mirror.solnet.ch]],
'wget' => q[/usr/bin/wget],
};
1;
__END__
Um die Module verwenden zu können, muss entweder in das Perl-Skript die Zeile aufgenommen werden oder die Umgebungsvariable
export PERL5LIB=${HOME}/PerlMod/lib
gesetzt werden.Ich tendiere zur ersten Variante, da damit auch andere User des Rechners (wie beispielsweise auch root) die Skripte ausführen können, ohne etwas umstellen zu müssen (vorausgesetzt sie haben Leserechte auf das PerlMod-Verzeichnis und den dazugehörigen Unterverzeichnissen und Daten).
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt
M. Will am :
Die Umgebungsvariable fehlt völlig, aber auch die use-Anweisung ist m.E. so nicht richtig, oder was bedeutet {FNAMEL} ???
Dirk Deimeke am :
Vielleicht hat das Update des GeShi-Plugins ein paar Merkwürdigkeiten mitgebracht.
Dirk Deimeke am :