Programmation Perl
« Retour au sommaire
Programmation Perl/Introduction
« Retour au sommaire
Perl (Practical Extraction and Report Language ou langage pratique d'extraction et de génération de rapports) est un langage de programmation créé par Larry Wall en 1987 et reprenant des fonctionnalités du langage C et des langages de scripts , et shell (sh).
Bien que son nom soit l'objet de plusieurs acronymes on l'utilise généralement avec un P majuscule pour désigner le langage et un p minuscule en parlant de l'interpréteur.
« Seul perl analyse correctement Perl ». 
Origines et implémentation.
Perl est né du besoin de disposer d'un langage optimisé pour l'extraction d'informations de fichiers textes et la génération de rapports.
Une de ses devises est « "There Is More Than One Way To Do It (TIMTOWTDI)" » qui pourrait se traduire par « Il y a plus d'une façon de le faire ».
Ce qui est un point fort d'après les adeptes puisque chacun peut écrire du code comme il l'entend.
Bien entendu, ceci peut être vu comme un point faible puisque ça donne lieu à différents styles très différents de code et pour le lecteur qui lira des codes de différents programmeurs, il faut s'adapter.
Une autre est « Perl : le couteau suisse des langages de programmation ».
Sa souplesse autorise l'emploi de plusieurs modèles de programmation : programmation procédurale, programmation fonctionnelle et POO---bien que les puristes de ce dernier ne considèrent pas Perl comme en faisant partie, son objectif est de s'adapter aux goûts du programmeur plutôt qu'une architecture stricte du langage.
Perl est souvent considéré comme le langage de script par définition et a été qualifié de "ciment assurant la cohésion du web", étant un des langages CGI les plus populaires.
Un autre point qui ne fait pas consensus est le nombre de raccourcis dans le langage Perl pour écrire du code plus rapidement et de façon élégante.
Mais l'usage trop courant de ces raccourcis rend le code plus difficile à appréhender pour un non averti.
Perl est un logiciel libre, distribué sous licence artistique et GPL.
Perl est porté sur la plupart des systèmes d'exploitation mais excelle particulièrement en environnement UNIX et ses dérivés; il gagne aussi en popularité sous Microsoft Windows.
Un exemple du champ d'action de Perl est son utilisation comme script CGI pour faire tourner Wikipédia jusqu'en janvier 2002.
Une immense collection de modules Perl d'utilisation libre, allant des mathématiques avancés aux connexions aux bases de données, en passant par les réseaux et bien davantage encore, peuvent être téléchargés depuis un réseau de sites appelé CPAN.
Bien que Perl profite de la plupart des facilités d'un langage interprété, à proprement parler il n'interprète et n'exécute pas le code source une ligne à la fois.
En fait, Perl compile d'abord le programme entier dans un bytecode intermédiaire (assez dans l'esprit du code objet Java), l'optimisant au passage, et exécute alors ce bytecode.
Il est possible de compiler un programme Perl en bytecode pour s'épargner les phases de compilation lors d'exécutions futures, bien que l'« interpréteur » est toujours requis pour exécuter ce code.
Perl 6 est en cours de développement.
Il tournera dans la machine virtuelle Parrot.
Ce qu'il faut savoir sur ce livre.
Le but.
Le but de ce livre est de fournir une documentation suffisante pour maîtriser en grande partie le langage Perl dans sa version 5 (à partir de la version 5.10).
Il présentera la base du langage en premier lieu, puis quelques aspects avancés entrecoupés de tutoriels et travaux pratiques divers afin d'entraîner le lecteur à l'écriture de scripts divers.
Le tout sera agrémenté d'un nombre conséquent d'exemples, de bonnes pratiques à adopter, d'indications sur les bibliothèques logicielles les plus utiles, et toute information qui nous semblera pertinente.
Les exemples présentés.
Nous utiliserons la version 5.14 de l'interpréteur perl.
Tout code présenté ici commencera par ces 4 lignes qui seront présentées dans les bases du langage : 
use strict;
use warnings;
use v5.14;
Je ne les répèterai pas pour ne pas alourdir chaque exemple (qui seront nombreux), si vous souhaitez exécuter le code présent dans ce livre n'oubliez pas de les écrire en premier dans votre code.
Cela fait partie des bonnes pratiques de programmation en Perl.
Pour les débutants.
Vous voulez apprendre à programmer des applications, et ceci est votre premier livre sur le sujet.
Voici quelques informations de base sur la programmation.
Votre premier éditeur de texte.
Tout d'abord, pour programmer il faut un éditeur de texte.
N'importe-quel éditeur de texte suffit pour programmer, cependant il est conseillé que votre éditeur de texte ait au moins la coloration syntaxique du langage que vous apprenez (ici Perl).
Il en existe un nombre assez conséquent, mais voici quelques pistes :
Comment bien apprendre.
Vous allez apprendre à programmer dans un certain langage de programmation.
Avant de commencer, il faut savoir que cela va prendre du temps, et qu'il ne faut pas se précipiter.
Lisez bien chaque exemple, essayer de modifier tous les bouts de code présentés en les complexifiant de plus en plus, essayez de faire tous les exercices et prenez le temps qu'il vous faut.
Ce n'est pas une course, passez deux à trois heures maximum à apprendre par jour, c'est amplement suffisant.

Programmation Logo
À qui s'adresse ce livre ?
Ce livre s'adresse à toute personne souhaitant aborder la programmation de façon simple et amusante. La programmation Logo permet de programmer des dessins, et c'est le point positif attrayant.

Programmation Logo/Introduction
Il s'agit d'un langage très simple destiné à l'enseignement de la programmation.
Des ordres simples sont donnés à une « tortue » qui dessine à l'écran.
Exemple :
Avance de 50, tourne de 90
Avance de 50, tourne de 90
Avance de 50, tourne de 90
Avance de 50, tourne de 90
Cela dessine un carré.

Programmation Logo/Manipulation de la tortue

Logo permet de faire des dessins en donnant des ordres à un instrument appellé "tortue".
Les principales instructions de la tortue sont :
Ces ordres permettent de dessiner librement :
AVANCE.
codice_1, avec "n" un entier, va faire avancer la tortue de "n" pas dans la direction dans laquelle elle est dirigée.
DROITE.
codice_2, avec "n" un entier, va modifier la direction de la tortue de "n" degrés vers la droite (c'est à dire dans le sens horaire).
GAUCHE.
codice_3, avec "n" un entier, va modifier la direction de la tortue de "n" degrés vers la gauche (c'est à dire dans le sens trigonométrique).
RECULE.
codice_4, avec "n" un entier, va faire reculer la tortue de "n" pas, c'est à dire la faire avancer dans la direction formant un angle complémentaire avec la direction dans laquelle elle est dirigée.
FIXEXY.
codice_5, avec "x" et "y" des entiers, permet de fixer la position de la souris, "x" et "y" les coordonnés de la nouvelle position.
FIXECAP.
codice_6, avec "n" un entier permet de fixer la direction dans laquelle la tortue doit etre dirigée, "n" étant l'angle (l'angle 0 étant l'angle vertical montant).
MONTRETORTUE.
codice_7 permet de visualiser la tortue.
CACHETORTUE.
codice_8 permet de dissimuler la tortue.
LEVECRAYON.
codice_9 permet de ne plus tracer de figure, ce qui veut dire les prochains déplacements ne seront plus accompagné d'un tracé (mode par défaut).
BAISSECRAYON.
codice_10 permet de recommencer le tracé, ce qui veut dire que les prochains déplacements seront à nouveau accompagnés d'un tracé.
COULEUR.
codice_11, avec "n" un nombre entier, permet de séléctionner la couleur des prochains tracés :
Si "n" est supérieur à 7, la couleur sera égale à "n" modulo 8. Par exemple, 8 donne noir.