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°)
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.
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.
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
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
-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.
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
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.