Perl (-mode d'emploi-)

alain Adelmar
                                                                          aadelmar@numericable.fr beuuh c est quoi ca

Le langage accessible par le plus grand nombre car tous les langages que vous aurez essayés avant vous servirons,  il tourne sur tout les OS, efficace, pratique, gratos, c'est le langage avec un grand "P " d'ailleurs ceux qui en ont eu vent en pètent de joie.
Néanmoins ces document s'adresse au just débutant ou même pas encore,  pour ce faire une idée ou pour apprendre les rudiments d'une autre façon et de voir ce que ce langage alléchant peu vous apporter .    |8O°)

par alain Adelmar aadelmar@numericable.fr

Perl - whatzaaa ???

Topo: (en gros)
Perl est un langage de programmation créé à la base par Larry Wall (sûrement un mec bien)
Il tourne sur tous les systèmes UNIX, Linux, Windows xx, BeOS et tout les autres que je ne connais pas * ainsi que sur toutes les plates-formes architecture 8, 16, 32, 64 bits (des vieux saucissons aux supers computers).
Monté par défaut et en état de marche dans toutes les distributions Linux, c'est le langage qui sert le plus avec le bash.
Pratique, facile, rapide et pourtant magique en ce qui concerne la manipulation de texte et toutes les autres travaux quotidiens sur votre PC. J'irai même plus loin, c'est l'utilitaire absolu, la caisse à outils de votre ordinateur de bureau, le langage qui ressemble le plus à Linux (dans sa liberté d'écriture, et son efficacité).
Il est très accessible même pour ceux qui ne veulent pas trop apprendre, car même avec un minimum d'étude de ce langage, il vous permettra de faire ce qui vous été impossible avec une armée de petits logiciels (sharewares et software que l'on trouve dans le commerce).
Perl est un langage complet au même titre que les autres. Il permet de tout faire.

La doc

Vous trouverez le gros de la doc en français sur le site : http://www.enstimac.fr/Perl/  et (en amerloque) à la racine http://www.perl.com/CPAN-local/doc/
autre sources de doc et cours:
Programmation en Perl http://sylvain.lhullier.org/publications/intro_perl/chapitre1.html
Programmation en Perl http://www.linux-france.org/article/memo/node98.html
TP Perl, accès au système http://www.ac-creteil.fr/util/programmation/perl/cours/tp-systeme.html
Tuteur PERL (PERL Tutorial) -- gilles.hunault@univ-angers.fr) http://www.info.univ-angers.fr/~gh/tuteurs/tutperl.htm
Tests et Perl - Bonnes pratiques http://articles.mongueurs.net/magazines/linuxmag89.html
ainsi que chez les mongueurs http://www.mongueurs.net/
Introduction à Perl http://www.linux-kheops.com/doc/perl/perl-aubert/index.html

Livre de ref ( les seuls que j'ai pu me payer sont ceux qu'il faut avoir, ( très bien traduit en français)):
- Introduction à Perl (Randal L Schwartz & Tom Christiansen) est le livre pour commencer l'étude de ce langage. Vraiment très bien fait comme un cours avec des exercices. Explications claires, dans une atmosphère sympathique .
- le camel-book ( Programmation en Perl) écrit par Larry Wall, qui est à l'origine du langage même, est le livre perl de référence. Il traite de tout, bien construit, beaucoup de matières, incontournable, le frère aîné d'introduction en perl .

Je commence juste l'étude de ce langage et pourtant il me plaît vraiment car l'interpréteur Perl semble s'adapter, comprendre le langage parlé, c'est à dire qu'il permet de programmer (à main levé) sans faire d'ordinogrammes ou autres plans de travail. Il est si souple et puissant que l'on peut l'écrire à la demande.

L'installation:

Sur Linux:

Il est déjà installé sur toutes les distributions, pour vérifier si vous avez bien Perl et quel est sa version tapez:
[moi @karl /moi]# perl -v

Sur Windows

C'est vous qui devez vous l'installer, mais pas de crainte c'est très facile à condition de lire les doc, car suivant la version de Windows que vous avez il faudra d'abord installer quelques fichiers (en général:instMsi.exe, dcom95.exe, msvcrt.exe)
et enfin suivre les instruction avant de télécharger ActivePerl-5.6.0xxMSWin32-x86-multi-thread.msi sur http://www.activestate.com/ASPN/   vous trouverez tout ce qu'il faut sur ce site.

De nombreuses versions exictent sous différents format pour tout les systêmes, donc faite attention avant de télécharger soit un package autoextractible où les sources si vous préférez vous le construire. (Les novices choisirons les packages (.rpm pour linux (RedHat et Fedora) et (.msi ou .exe pour Windows) et non pas les sources).

Voilà Perl est constitué de plusieurs programmes ou binaires dont perl (pour Linux) perl.exe (pour windows) ainsi que des répertoires ou sont stocké les modules, la documentation et des outils de conversions pour simplifier la vie du programmeur.
Dans Linux (*) il se trouve souvent dans /usr/lib/perl
Dans Windows (*) on l'installera sur la racine du Disque Dur:
C:\Perl ou D:\Perl

Début:

-C'est quoi un script
Perl est un intérpréteur de commandes, il lit et execute les commandes les unes aprés les autres jusqu'a la fin du script.
Il n'y a pas de compilation comme en C, donc votre code pourras toujours être accéssible et vous pourrez toujours vous en resservir ou le modifier directement.
-Comment on l'écrit
Simplement dans l'éditeur de votre choix:
Pour Linux: Emacs, Xemacs, Vim, etc... ( tous ces éditeur savent gérer Perl )
Pour Windows: NotePad.exe, Edit.com (du DOS), Word, Write.exe ou scite.exe (qui lui prend en compte Perl et beaucoup d'autres langage de programmations)

On commencera par la première ligne, ligne spéciale qui défini à quel interpréteur est déstiné ce fichier.
Pour Linux:
#!/usr/bin/perl -w
cette ligne appelle perl pour une interpretation de ce qui suit jusqu'a la fin du fichier, avec l'option -w qui vous indiquera les erreurs interactivement. Il y a plusieurs options mais nous verrons ça plus tard.

Pour Windows:
#!Perl -w
cette ligne appelle perl pour une interpretation de ce qui suit jusqu'a la fin du fichier, avec l'option -w qui vous indiquera les erreurs interactivement. Il y a plusieurs options mais nous verrons ça plus tard.

Puis l'on écrira la suite de commandes, on essayera de n'en mettre qu'une par ligne (pour une meilleur lisibilité) en finissant la ligne par un point-virgule ;

Une fois que l'on à écrit son script sur l'éditeur de votre choix il suffit de sauvegarder votre travail avec l'éxtention .pl
bien que ce ne soit pas du tout obligatoire.   exemple: mon_script.pl
Il faudra par la suite rendre se fichier exécutable de la manière suivante:
Pour Linux:  A l'aide de votre ligne de commande de console (peut importe lequel) en tapant:
chmod +x mon_script.pl
Pour Windows
Il n'y a rien de spécial.
-Comment on l'execute
Un scripte perl ou programme perl est une série de commandes, de déclarations écrites sur éditeur de texte suivant des régles, conventions d'écriture. Le tout est sauvegarder avec un nom qui devient le nom du programme avec ou sans l'extention .pl
Puis on devras rendre ce programme exécutable, qui pour l'instant n'est qu'un fichier quelquonque en tapant au shell:
chmod +x le_nom_de_mon_programme.pl
on appelle le programme perl en le nommant par son nom dans la première ligne d'un fichier exécutable comme:
#!/usr/bin/perl     (emplacement du binaire perl pour linux)
#!perl         (pour Windows xx)
A noter que sur les deux systèmes il peut et doit être agrémenté de l'option -w ce qui permet une interprétation interactive des erreurs à la première exécution, ce qui est bien pratique.
Sur Linux c'est au niveau de la console (*) que l'on recevra les sorties alors que sur windows c'est l'interface MS-DOS qui les recevra.

récapitulation:

l'exemple "Hello World"

sur Linux on écrira dans n'importe quel éditeur:
#!/usr/bin/perl -w print "Hello World\n";
puis l'on sauvera ces deux lignes sous le nom de "hello-word.pl" puis on le rendra exécutable en tapant au prompt:
chmod +x hello-world.pl
pour l'exécuter il suffira de taper :
./hello-word.pl
>Hello World
>

Alors que depuis Windows on écrira sur Notepad ou un autre éditeur de texte les deux ligne suivantes:

#!perl -w
print "Hello World\n";

puis après avoir sauvegardé sous "hello-word.pl" nous taperons sur la ligne de commande MSDOS

perl hello-word.pl
>Hello World
>

Maintenant que l'on sait comment écrire un programme en perl on peut démarrer son apprentissage.
A noter que pour Windows il existe un super éditeur scite.exe (gratuit et particulièrement adapté à la programmation) car n'oublions pas que malheureusement sur MS-DOS la fenêtre ne peut suivre que 50 lignes maximum en sortie ce qui bride pas mal les choses ou alors il suffit de rediriger les sorties sur un fichier adéquat.
Mais ne vous prenez pas la tête pour ça nous verrons plus loin comment détourner le problème.
Enfin Scite.exe est non seulement un éditeur qui analyse la syntaxe en couleur mais il sert aussi de debugger, téléchargable depuis http://www.scintilla.com/scite



renvois:

Quand je parle de Linux je fais référence à tous les UNIX et Unix-like, enfin qui ont la structure (l'épine dorsale) du système construite comme sur UNIX: /bin, /etc, /dev, /home, /lib, /var, /root, /sbin, /usr, /opt et autre répertoires familiers à Linux.

Pareil pour Windows je parle de toutes les versions de MS-DOS à Windows/NT en passant par 95, 98, 2000 etc....

On recevra les sorties sur l'xterm, gterm, kterm ou rxvt (enfin la console d'ou à était lancé le script), perl se substituera à l'interpreteur de commande. Toutes les sorties du programmes par défaut, les messages d'erreurs, le STDOUT (sortie standard) arrivera à la console. Chose bien pratique sur Linux, on peut régler le nombres de lignes affichables sur les VT100 alors que sur Windows et donc à partir du ms-dos on ne peut voir que 50 lignes Max. Il y a quand même d'autres moyens pour contrôler ses sorties, nous le verrons plus loin.