Le module d'exemple Time.tm va proposer une seule fonction get_time qui retourne l'heure courrante et le jour au format HH:MM:SS JJ/MM/AAAA.
#================================================================== # Time Perl module. #================================================================== package Time; require Exporter; our @ISA = qw(Exporter); our @EXPORT = qw(get_time); # symbol exportres par defaut (separate par des espaces) our $VERSION = 1.00; # numero de version use POSIX 'strftime'; #--------------------------------------------------------------------- # retourne l'heure courrante et le jour au format HH:MM:SS JJ/MM/AAAA # requires "use POSIX 'strftime';" #--------------------------------------------------------------------- sub get_time { return strftime( '%H:%M:%S %d/%m/%Y', localtime(time()) ); } 1;
Le programme qui va appeler le module Time.pm est
#!/usr/bin/perl use Time; print &get_time()."\n";
Il existe plusieures façon d'utiliser des modules Perl et d'indiquer à Perl où chercher ceux-ci.
La plus simple est de définir ou de compléter les variables d'environnement PERLLIB ou PERL5LIB.
Je préférre utiliser PERL5LIB mais on peut utiliser les deux.
Sous unix
export PERL5LIB=/home/bicqueletjl/lib
Sous windows
set PERL5LIB=c:\home=\bicqueletjl\lib
On peut aussi modifier la partie environnement du sysème et ajouter ou modifier PERL5LIB.
Quand le module est prêt on peut le distribuer. Il faut utiliser l'utilitaire h2xs qui est fournit avec Perl. La syntave à utiliser est
$h2xs -AX -n nom_du_module
Par exemple
$h2xs -AX -n time Writing time/lib/time.pm Writing time/Makefile.PL Writing time/README Writing time/t/time.t Writing time/Changes Writing time/MANIFEST
Les options utilisées servent à préciser:
La commande va produire l'arboresence
time/Makefile.PL time/README time/t/time.t (fichiers de test) time/Changes time/MANIFEST (liste des fichiers du package)
Modifiez le fichier Time/lib/Time.pm en reportant vos objets et vos fonctions perl. Adaptez la documentation.
Il reste à faire un tar (et éventuellement un gzip) du répertoire pour le distribuer.
perl Makefile.PL make make install
On peut modifier l'endroit d'installation du module ainsi:
perl Makefile.PL PREFIX=/home/bicqueletjl/lib Writing Makefile for Time cp lib/Time.pm blib/lib/Time.pm Manifying blib/man3/Time.3 make make install ./time.pl 14:29:02 02/01/2015