Le compilateur et les packages.
Avant toutes choses, il est bon d'installer un interpréteur Perl. Sans ça, ça marchera moins bien ! ;-)
Je vous conseille vivement celui d'ActiveState. Il est disponible pour Windows (Windows Installer), Linux (RPM) et Solaris (packages). Par la suite, je me refererai toujours à la version d'ActiveState quelque soit l'OS.
A l'heure actuelle, il existe deux versions qualifiées de stable chez ActiveState : la version 5.005 et la 5.6. Mes scripts fonctionnent avec les deux versions. La version 5.6 est considérée comme multi-thread sous Windows NT/2000 et donc émule (plus ou moins bien) le fork de Unix. Il existe aussi la version 5.8, mais vous devrez la compiler vous-même, et nous attendons tous avec impatience la version 6.
Il est aussi utile d'ajouter une série de packages disponible un peu partout sur le web dont voici ma liste qui n'est ni exhaustive ni indispensable (pour les degrés d'importances, voir code couleurs).
Résultat de "ppm query"
Archive-Tar [0.072 ] module for manipulation of tar archives. Compress-Zlib [1.08 ] Interface to zlib compression library Convert-ASN1 [0.07 ] Convert between perl data structures and ASN.1 encoded packets Digest-MD5 [2.11 ] Perl interface to the MD5 Algorithm File-CounterFile [0.12 ] Persistent counter class File-ReadBackwards [0.94 ] Read a file backwards by lines. Font-AFM [1.18 ] Interface to Adobe Font Metrics files HTML-Parser [2.23 ] SGML parser class HTML-Tree [0.51 ] HTML syntax tree builder MIME-Base64 [2.11 ] Encoding and decoding of base64 strings MIME-Lite [2.106 ] low-calorie MIME generator Net-Ping [2.02 ] check a remote host for reachability PPM [2.1.2 ] Perl Package Managerlocate install and upgrade software packages. SOAP-Lite [0.43 ] Library for Simple Object Access Protocol (SOAP) clients and servers in Perl Tk [800.022 ] Tk - a Graphical User Interface Toolkit URI [1.09 ] Uniform Resource Identifiers (absolute and relative) Win32-API [0.01 ] Implementation of arbitrary Win32 APIs. Win32-AdminMisc [0.2000.07.08] The Win32:AdminMisc extension for Win32 X86 Win32-Daemon [0.2000.06.20] The Win32:Daemon extension for Win32 X86. Allows Perl to be a Win32 service. Win32-GUI [0.99 ] Win32 Graphical User Interface Extension Win32-Lanman [1.0.8 ] Contains the most important calls from the MS-Lanmanager API. Win32-MAPI [1.5 ] Perl MAPI interface Win32-ODBCbeta [0.1999.12.21] The Win32:ODBC BETA extension for Win32 X86. Interface for ODBC databases. Win32-Perms [0.2000.02.16] The Win32:Perms extension for Win32 X86. Manages object permissions for Windows NT. Win32-TieRegistry [0.21 ] Powerful and easy ways to manipulate a registry XML-Element [1.07 ] Base element class for XML elements XML-Parser [2.27 ] A Perl module for parsing XML documents libnet [1.07.03 ] Collection of Network protocol modules libwin32 [0.17.2 ] A collection of extensions that aims to provide comprehensive access to the Windows API. libwww-perl [5.48 ] Library for WWW access in Perl perl-ldap [0.17 ] LDAP Client library De base (installé lors de l'installation de Perl)
Indispensable
Utile
ATTENTION, certains packages sont différents selon la version de l'interpréteur. Vous risquez une Dr Watson dans le cas d'un mauvais choix.
La plupart de ces packages sont disponibles chez Activestate, les autres se trouvent chez Roth Consulting, Dada's Perl Lab ou Jenda's Page.
Pour installer des packages sous AciveState Perl, utiliser PPM (Perl Package Manager). De préférence, copier les packages complet en local dans un répertoire dédié, et ensuite les installer à partir de là. Ce sera plus simple lors d'un éventuelle ré-installation de la machine sur laquelle vous dévellopez.
Ex : C:\Perl\Packages contient tout les fichiers PPD.Ensuite à partir du command prompt, dans le répertoire en question, "ppm install le_nom_du_pkg.ppd".
Il est aussi possible d'installer des packages directement à partir de la page web de leur concepteur. Si vous avez un accès direct au web c'est la méthode la plus simple. Si il y a un proxy/firewall dans le chemin, il faut déclarer l'adresse du proxy dans une variable d'environnement HTTP_PROXY=http://host_name:port. Et si vous avez un login et password pour accéder au proxy, vous devez déclarer les variables d'environnements suivantes HTTP_proxy_user=login_name et HTTP_proxy_pass=password.
Pour plus d'infos à propos de PPM, "ppm help".