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 modulesInstallation des modules (3)
précédent sommaire suivant
 

Afin d'effectuer les installations des modules, vous devez utiliser le Gestionnaire de Package Perl (PPM). Ce dernier vous fournit une interface en ligne
pour gérer vos modules et extensions (packages) compatibles Win32. PPM vous permet d'accéder aux collections de packages, de les installer,
de les supprimer ou de les mettre à jour sur votre système.
Voici quelques explications sur l'installation, l'exécution et l'utilisation du Gestionnaire de Package Perl (PPM) :

  • installation : PPM est installé en même temps que Perl pour Win32,
    donc rien à faire si Perl est bien installé bien sûr ;
  • exécution : avant d'exécuter PPM, vous devez être connecté à Internet.
    En cas de souci, vérifier si votre connexion Internet utilise un firewall ou
    un proxy. Vous devriez positionner la variable d'environnement 'HTTP_proxy'
    avec le nom du serveur proxy.

    Ex : http_proxy=http://proxy.example.org

    Si votre serveur proxy nécessite un nom d'utilisateur et un mot de passe,
    les variables d'environnement "HTTP_proxy_user" et "HTTP_proxy_pass" devraient
    être initialisées avec ces valeurs ou bien positionnez "HTTP_proxy" ainsi :

    Ex: http_proxy=http://username:password@proxy.example.org

    Si de plus vous utilisez un port autre que le port 80, faites ainsi :

    http_proxy=http://username:password@proxy.example.org:8080

    PPM peut alors être exécuté en tapant "ppm" dans une fenêtre DOS ou bien, double
    clic sur C:\Perl\bin\ppm.bat et on accède à la même interface que sous Unix ;
  • utilisation : par défaut, PPM utilisera la collection de package d'ActiveState,
    mais ceci peut être configuré en utilisant la commande "set" ou "rep" (cf. plus bas).

Une fois dans votre fenêtre console, vous aurez un prompt "ppm>".
L'installation s'effectue via la commande "install package_name".

Au fur et à mesure de l'évolution de Perl, l'utilisation de PPM s'est améliorée.
Je vais donc vous présenter son utilisation pour les versions de Perl inférieures
et supérieures à Perl 5.8.8 built 819.
Je vous conseille de lire les deux car même si le principe diffère, le but est le même.

Pour les versions de Perl inférieures à 5.8.8 built 819

Exemple d'utilisation de PPM pour l'installation

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
ppm> install CGI 
============= 
Install 'CGI' version 2.91 in ActivePrl 5.8.2.808. 
============= 
Downloaded 147245 bytes. 
Extracting 21/21: blib/arch/auto/CGI/.exists 
Installing C:\Perl\html\site\lib\CGI.html 
.........................................=> Installation OK 
......................................... 
Installing C:\Perl\site\lib\CGI.pm 
......................................... 
......................................... 
Successfully installed CGI version 2.91 in ActivePerl5.8.2.808.
Bravo, l'installation du module CGI s'est bien déroulée. Essayons de le réinstaller par curiosité.

Code : Sélectionner tout
1
2
ppm> install CGI 
Note: Package 'CGI' is already installed
Pas besoin d'être brillant en anglais, on comprend bien que ce module est déjà installé !

Problèmes souvent rencontrés

Il arrive très souvent de se trouver face à un problème d'installation de modules avec plein de messages d'erreurs.
Alors, on est un peu perdu, surtout quand on débute en Perl (ou dans l'installation de modules).
- Assurez-vous d'être connecté à Internet, car l'installation de modules via ppm par défaut nécessite que ce dernier
aille chercher le module que vous souhaitez dans un dépôt ou encore repository en anglais (la notion de repository sera expliquée plus bas).

  • Certaines versions de ppm peuvent être sensibles à la casse, donc faites attention.
  • Il se peut que le module que vous cherchez à installer n'existe pas (faute de frappe par exemple).

Code : Sélectionner tout
1
2
ppm> install toto 
Error: Package 'toto' not found. Please 'search' for it first.
- Attention, ce sera ppm install DBD-mysql et non ppm install DBD::mysql

- Comme tous les perléens, vous avez l'habitude de vous rendre sur le site officiel CPAN pour
faire une recherche de modules intéressants. Ensuite, tout content de les avoir trouvés, vous essayez de les installer et paf, la phrase magique "ça marche pas", avec pour messages sur le terminal :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
ppm> install PDF::FromHTML 
Error: Package 'PDF::FromHTML' not found. Please 'search' for it first. 
ou bien 
ppm> install PDF::FromHTML 
ppm> searching for 'PDF::FromHTML' returned no results. Try a broder search first 
ou 
ppm> install GD 
ppm> Error: PPD for 'GD.ppd' could not be found.       
ou autre...
Alors, c'est là qu'intervient la notion de repository.

Les dépôts ou repository

En fait, lorsque vous installez un module en Perl via ppm, ce dernier va chercher le module en question dans le repository d'ActivePerl.
Ce dernier est ActiveState Package Repository. Il se peut que le module que vous avez vu sur le CPAN n'y soit pas présent.
Pour faire une recherche d'un module dans ses repositories, faites par exemple :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ppm> search DBD 
Searching in Active Repositories 
   1. Bundle-DBD-CSV          [0.1016] A bundle to install the DBD::CSV driver 
   2. DBD-ADO                   [2.95] DBD-ADO 
   3. DBD-ADO                   [2.95] A DBI driver for Microsoft ADO (Active Data Objects) 
   4. DBD-ADO                   [2.94] ADO driver for the DBI module. 
   5. DBD-AnyData               [0.08] DBD-AnyData 
   6. DBD-AnyData               [0.08] DBI access to XML, CSV and other formats 
   7. DBD-AnyData               [0.08] DBI access to XML, CSV and other formats 
   8. DBD-Chart                 [0.80] DBD-Chart 
   9. DBD-Chart                 [0.80] DBI driver abstraction for Rendering Charts and Graphs 
  10. DBD-Chart                 [0.81] Chart driver for DBI module 
  11. DBD-CSV                   [0.22] DBD-CSV 
  12. DBD-CSV                   [0.22] DBI driver for CSV files 
  13. DBD-CSV                   [0.21] DBI driver for CSV files 
  14. DBD-Excel                 [0.06] DBD-Excel 
  .....
Vous obtenez la liste des modules correspondant à votre recherche. Si vous ne trouvez pas ce que vous cherchez alors que vous l'avez vu sur le CPAN, il va falloir rajouter des repositories sur votre Windows.
Pour voir la liste de ces repositories :

Code : Sélectionner tout
1
2
3
4
ppm> rep (ou repository) 
Repositories: 
[1] ActiveState PPM2 Repository 
[2] ActiveState Package Repository
Voici comment rajouter divers dépôts comme bribes qui répondront peut-être à vos besoins. Ainsi, durant l'installation, la recherche sera effectuée sur l'ensemble des dépôts que vous possédez.

Code : Sélectionner tout
ppm> rep add bribes http://www.bribes.org/perl/ppm
Ainsi, votre recherche de modules se fera sur 4 et non 2 repositories.

Code : Sélectionner tout
1
2
3
4
5
6
7
ppm> repository 
Repositories: 
[1] ActiveState PPM2 Repository 
[2] ActiveState Package Repository 
[3] bribes 
 
=> Il existe d'autres dépôts, à vous de chercher !!!
Une autre façon d'installer un module présent dans un repository consiste à taper ppm install http://url/nom_package.ppd
si vous connaissez son adresse exacte bien sûr !! Exemple :

Code : Sélectionner tout
ppm> install http://www.bribes.org/perl/ppm/CGI.ppd
Le module CGI installé sera celui de bribes et non du CPAN. Mais ne vous inquiétez pas, ce sont des dépôts corrects et les modules sont généralement à jour.
CPAN n'est qu'une interface permettant de regrouper la plupart des modules à disposition, les documents et les différents miroirs vers ces modules.

Voilà, pour plus d'informations sur les ppm, voici un très bon site !
Après toutes ces indications, si vous avez toujours un souci avec les fichiers ppd, vous pouvez le créer vous-même, mais cela dépasse le domaine de cette FAQ :-) !!

Vous pouvez également télécharger le module à partir du CPAN et l'installer "à la UNIX" (voir plus bas), mais vous ne pourrez pas faire de make (inconnu de Windows) à moins de passer par cygwin ou Visual Studio.

Pour les personnes utilisant une version de Perl très ancienne (Perl 5.00), je vous conseille d'installer la version récente de Perl (actuellement 5.8.8). Cela vous évitera des soucis de version de ppm (tapez ppm version => 3.4 actuellement) et de compatibilité avec les modules récents.
Si d'autres messages d'erreurs persistent, soit il n'existe pas, soit cette FAQ ne vous sera pas suffisante et de ce fait un bon Google s'impose !

Pour les versions de Perl 5.8.8 built 819 et plus

Depuis la version 5.8.8, lorsque vous installez Perl depuis ActiveState, vous disposez de la version 4.01 de ppm

Code : Sélectionner tout
1
2
3
>ppm version 
ppm 4.01 
Copyright (C) 2007 ActiveSate Software Inc. All rights reserved.
L'installation des modules Perl a donc été simplifiée via une interface Tk. Pour toute installation de modules Perl, taper dans une fenêtre DOS la commande suivante :

Code : Sélectionner tout
>ppm
=> Une fenêtre Tk va s'ouvrir et va charger vos différents repositories.
Vous devez donc avoir bien évidemment Internet de disponible.

Dans un premier temps, je vais vous demander de rajouter certains repositories importants. Dans la fenêtre TK, cliquez sur le symbole le plus à droite tout en haut


Vous verrez que vous ne disposez que du repository ActiveState Package Repository
url : http://ppm4.activestate/MSWin32-x86/5.8/820/package.xml

Maintenant ajoutez les repositories suivants :

Code : Sélectionner tout
1
2
3
bribes     => http://www.bribes.org/perl/ppm/ 
  threoryx   => http://theoryx5.uwinnipeg.ca/ppms/ 
  trouchelle => http://trouchelle.com/ppm/


Pour installer un nouveau module, revenez sur la fenêtre Tk principale et choisissez dans la liste des modules celui que vous souhaitez installer.
Si ce dernier est jaune (=> il est déjà installé), s'il est grisé alors il n'est pas installé.

Faites un clic droit et choisissez 'install'. Vous pouvez le faire sur tous les modules que vous souhaitez installer.

Maintenant tous les modules que vous avez souhaité installer seront décorés d'une flèche
verte. Cliquez maintenant sur la flèche verte


L'installation commence et gère toute seule les dépendances.

Voilà. Idem pour les désinstallations ou mises à jour des modules.

Mis à jour le 15 décembre 2005 djibril

  • Installation par téléchargement du module

La meilleure façon d'installer un module sur une station Unix est encore de télécharger le module et de le compiler.
Dans cet exemple, nous allons installer un module que nous verrons aussi plus tard, le module CGI qui permet le traitement des formulaires HTML.
Pour le moment, il faut télécharger ledit module (au format tar.gz) puis le décompresser. Dans une console shell.

Code : Sélectionner tout
1
2
3
wget http://search.cpan.org/CPAN/authors/id/L/LD/LDS/CGI.pm-3.07.tar.gz 
tar -xvzf CGI.pm-3.07.tar.gz 
cd CGI.pm-3.07
Dans le répertoire du module se trouvera toujours un fichier README sur la façon d'installer le module.
Lisez-le ! Pour les non-anglophones, voici la procédure la plus couramment utilisée :

Code : Sélectionner tout
1
2
3
4
5
6
7
#Vérification de votre environnement et de votre Perl et écriture du Makefile 
perl Makefile.PL 
#Compilation 
make 
#Installation en étant ROOT ! 
make install 
#Have fun !
  • Installation via CPAN

Le défaut majeur de l'installation précédente est la gestion des dépendances. Il arrive très souvent que le module que vous souhaitez installer dépende d'autres modules et dans ce cas, il vous sera demandé d'installer un autre et ainsi de suite. Ce qui bien sûr peut devenir très lourd à gérer.
Je vous suggère de vous servir de l'utilitaire CPAN.
tapez la commande suivante :

Code : Sélectionner tout
> CPAN
Il vous posera plusieurs questions et la plupart de temps, il faudra choisir la réponse par défaut.
Une fois CPAN configuré, pour installer un module, vous devrez taper :

Code : Sélectionner tout
1
2
3
4
> CPAN 
cpan> install MON::MODULE 
# faites un help pour voir toutes les commandes disponibles 
cpan>help
Voilà !!!

Mis à jour le 15 décembre 2005 djibril GLDavid

  • Installation de Perl par défaut

Le module CPAN.pm est un module préinstallé sous Mac OS X. Il a pour but d'automatiser le téléchargement et la construction de vos modules.
Pour monter un shell CPAN interactif, placez-vous dans votre home, et tapez l'instruction suivante :

Code : Sélectionner tout
perl -MCPAN -e shell
La toute première fois, une série de questions vous seront posées pour configurer le système. Dans la plupart des cas, les réponses par défaut suffisent. Elles seront sauvegardées dans /System/Library/Perl/CPAN.pm ; Le premier module à télécharger est bundle libnet

Code : Sélectionner tout
install Bundle ::libnet
L'ensemble des modules installés par défaut ou par vos soins se trouve dans le répertoire /System/Library/Perl/.

  • Version ActiveState

Pour installer des modules avec ActivePerl, rien de plus simple ! Dans la fenêtre Terminal :

Code : Sélectionner tout
ppm install mon::module
Si vous n'êtes pas root sur votre machine, faites :

Code : Sélectionner tout
sudo -u  root  /usr/local/ActivePerl-5.8/bin/ppm3-bin  install  mon::module
  • Version Unix (troisième et dernière méthode !)

Si les deux solutions précédentes n'ont pas été concluantes, si vous avez porté votre choix sur un module qui n'est pas disponible par le ppm d'ActiveState, si vous avez des problèmes avec la méthode par défaut... ne perdez pas espoir !! Il reste une dernière solution ! Souvenez-vous, votre Terminal est un Unix... Donc vous pouvez installer vos modules à la manière Unix !! Téléchargez votre module, décompressez-le dans n'importe quel de vos répertoires (votre home, pourquoi pas !). Ensuite, placez-vous dans le répertoire du module obtenu (cd mon_module) et faites :

Code : Sélectionner tout
1
2
3
perl Makefile.pl 
make 
sudo make install
Mais attention ! Il se peut que vous obteniez le message suivant :

Code : Sélectionner tout
-bash: make: command not found
Pas d'angoisse ! Make n'est pas reconnu par votre OS car vous n'avez pas installé les Xcode tools... Eh oui, ce n'est pas fait par défaut !!
Installez-les par un petit double-clic sur Xcode Tools.mpkg qui se trouve dans le répertoire Applications/Installers/Xcode Tools/Xcode Tools.mpkg et le souci est résolu !!
et voilà !!! votre module est installé !
Vous trouverez votre bonheur parmi ces trois variantes j'espère !!!

A vous de jouer !!

Mis à jour le 14 décembre 2005 stoyak

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 -