FAQ PerlConsultez toutes les FAQ

Nombre d'auteurs : 18, nombre de questions : 250, dernière mise à jour : 29 octobre 2015  Ajouter une question

 

Bienvenue sur la FAQ Perl. Cette FAQ a pour vocation de vous enseigner ou de vous faire revoir les notions élémentaires de ce fantastique langage. Perl est très utilisé dans différents domaines depuis la gestion système, le réseaux, l'administration de bases de données, le web (CGI), la bureautique, la conception d'interfaces graphiques ou des contextes scientifiques telle la bioinformatique. Nous espérons que cette FAQ vous sera d'une grande utilité.

Vous souhaitez participer à l'amélioration de cette FAQ, n'hésitez pas !! Commentez

Bonne lecture !


SommairePerl avancéLes modules (14)
précédent sommaire suivant
 

Les modules sont des librairies ou bibliothèques (code Perl) qui ajoutent des possibilités, des fonctionnalités au langage Perl. Ils sont stockés dans un fichier NOM.pm (pm pour Perl Module) et intégrés dans le programme par use NOM; (ou par require NOM;).

Mis à jour le 9 mai 2005 djibril

Il peut être très utile pour vos codes de développer vos propres modules. Encore faut-il les appeler. En réalité, l'appel à un module local n'est pas si différent de l'appel d'un module que vous aurez installé sur votre machine. Considérons ce petit module :

Code perl : Sélectionner tout
1
2
3
4
#!/usr/bin/perl 
package essai; 
print "Bonjour tout le monde !\n"; 
1;
Dans le même répertoire que le module, vous écrivez votre script appelant ce module :

Code perl : Sélectionner tout
1
2
3
4
5
6
#!/usr/bin/perl 
  
use warnings; 
use strict; 
print "Au revoir !\n"; 
use essai;
Dans cet exemple, vous afficherez d'abord la chaîne "Bonjour tout le monde !" puis celle de votre code. Mais il est possible aussi d'utiliser le mot-clef require pour appeler un module :

Code perl : Sélectionner tout
1
2
3
4
5
#!/usr/bin/perl 
use warnings; 
use strict; 
print "Au revoir !\n"; 
require essai;
Cette fois-ci, c'est la chaîne de votre code qui sera affichée en première. La différence entre use et require se situe au niveau des temps d'appel. use sera appelé dès l'exécution de votre script Perl alors que require sera appelé conformément à la suite d'instruction de votre code. require se comporte ainsi comme une macro C #include. Voici un deuxième exemple. Le module "mon_module" contient dans notre cas un sous-programme (longueur) qui sera appelé dans le programme principal. Il aurait pu contenir 0 ou plusieurs sous-programmes. Rappel : un module est une bibliothèque de sous-programmes ou procédures ajoutant des fonctionnalités à notre programme principal.

Code perl : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/perl 
use warnings; 
use strict; 
  
sub longueur { 
  my ($seq) = @_; # récupération de la séquence à traiter 
  my $lg = length $seq; 
  print "c'est une séquence de longueur $lg\n"; 
} 
1;  #obligatoire dans les modules en fin de programme.
Code perl : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/perl 
  
use warnings; 
use strict; 
use lib './repertoire_module';  #mon module se trouve dans le répertoire "repertoire_module" 
use mon_module;=>utilisation du module "mon_module" 
  
my $seq = "ATCGTGC";  
  
#utilise la fonction &longueur de mon module 
&longueur($seq); 
print "c'est ok !";

Mis à jour le 9 mai 2005 djibril GLDavid

De la même manière que nous avons appelé un module local, nous utiliserons encore le mot-clef use pour appeler un module externe. Prenons l'exemple du module File::Basename. Ce module va nous permettre de déterminer le non de base d'un fichier :

Code perl : Sélectionner tout
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl 
use strict; 
use warnings; 
  
use File::Basename; 
  
my $file     = '/home/gldavid/djibril.secrets'; 
my $basename = basename $file; 
print "$basename\n";
Dans ce code, nous appelons une fonction basename contenu dans le module. Cette fonction prend en paramètre une chaîne de caractères relative à un nom de fichier. basename rendra ainsi le nom de base du fichier débarrassé de sa localisation soit, dans notre cas, djibril.secrets.

Mis à jour le 9 mai 2005 GLDavid

Voici une liste de modules Perl couramment utilisés pour améliorer et étendre les fonctionnalités de Perl.

Nom du module Commentaires
CGI Permet la création de page Web via la récupération des informations d'un formulaire
DBI Accès aux bases de données (installez également le driver adéquat pour son fonctionnement)
DBD::Pg Driver de bases de données Postgresql pour le module DBI
DBD::mysql Driver de bases de données Mysql pour le module DBI
DBD::Oracle Driver de bases de données Oracle pour le module DBI
XML::Twig Permet de manipuler les fichiers XML
GD Permet de créer des images GIF, JPG, PNG...
LWP::UserAgent Utilitaires pour la consultation automatique de site web
HTML::Parser Permet de manipuler les fichiers HTML
Net::FTP Permet d'effectuer une connexion FTP
MIME::Lite Permet d'envoyer des mails
Tk Pour créer des interfaces graphiques

Mis à jour le 9 mai 2005 djibril

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsable bénévole de la rubrique Perl : djibril -