Apprenez à programmer en Perl ! Par Erd , Kharec et nohar www.openclassrooms.co

Apprenez à programmer en Perl ! Par Erd , Kharec et nohar www.openclassrooms.com Licence Creative Commons 7 2.0 Dernière mise à jour le 2/08/2012 Sommaire 2 Sommaire ........................................................................................................................................... 1 Lire aussi ............................................................................................................................................ 3 Apprenez à programmer en Perl ! ...................................................................................................... 5 Partie 1 : Introduction à Perl ............................................................................................................... 5 Qu'est-ce que Perl ? .......................................................................................................................................................... 5 Présentation ................................................................................................................................................................................................................ 7 Quels outils faut-il pour programmer en Perl ? ........................................................................................................................................................... 7 Sous Windows ............................................................................................................................................................................................................ 8 Sous GNU/Linux, Mac OS X, et autres UNIX .............................................................................................................................................................. 9 Exécuter un script ........................................................................................................................................................................................................ 9 Création du programme .............................................................................................................................................................................................. 11 Premiers pas ................................................................................................................................................................... 12 Hello, world! ............................................................................................................................................................................................................... 12 Premiers éléments de langage ................................................................................................................................................................................. 14 À la découverte des variables ................................................................................................................................................................................... 15 Le mot-clé "my" ......................................................................................................................................................................................................... 15 Affecter une valeur à une variable ............................................................................................................................................................................. 16 Les scalaires ............................................................................................................................................................................................................. 16 Notion de typage ....................................................................................................................................................................................................... 17 Les nombres ............................................................................................................................................................................................................. 18 Les chaînes de caractères ........................................................................................................................................................................................ 20 Opérations sur les chaînes de caractères ................................................................................................................................................................. 21 Do what I mean! ........................................................................................................................................................................................................ 22 Place à la pratique ! ................................................................................................................................................................................................... 22 Diamonds are a girl's best friend ............................................................................................................................................................................... 23 À vos claviers ! .......................................................................................................................................................................................................... 26 Les branchements conditionnels .................................................................................................................................... 26 Prédicats et booléens ................................................................................................................................................................................................ 26 Posons le contexte .................................................................................................................................................................................................... 27 Les booléens ............................................................................................................................................................................................................. 27 Opérateurs de comparaison ...................................................................................................................................................................................... 29 Opérateurs logiques .................................................................................................................................................................................................. 33 La fonction defined .................................................................................................................................................................................................... 34 if, else, et unless ....................................................................................................................................................................................................... 34 Où en sommes nous ? .............................................................................................................................................................................................. 35 if et else ..................................................................................................................................................................................................................... 36 Branchements en série ............................................................................................................................................................................................. 38 unless ........................................................................................................................................................................................................................ 38 Travailler avec des blocs ........................................................................................................................................................................................... 38 Mise en forme et indentation du code ....................................................................................................................................................................... 40 Notion de portée lexicale ........................................................................................................................................................................................... 41 La syntaxe « en ligne » ............................................................................................................................................................................................. 42 TP : jeu de devinettes (première version) ................................................................................................................................................................. 45 Processus itératifs et boucles ......................................................................................................................................... 45 La boucle de base : while .......................................................................................................................................................................................... 46 Ordre d'exécution ...................................................................................................................................................................................................... 47 Opérateurs d'incrémentation et de décrémentation .................................................................................................................................................. 48 TP : jeu du plus ou moins .......................................................................................................................................................................................... 48 Tirer un nombre au hasard ........................................................................................................................................................................................ 49 La boucle principale .................................................................................................................................................................................................. 49 Programme final ........................................................................................................................................................................................................ 50 Traitement de fichiers ................................................................................................................................................................................................ 50 open et close ............................................................................................................................................................................................................. 51 Lecture et écriture ..................................................................................................................................................................................................... 52 Les fichiers et la boucle while ................................................................................................................................................................................... 53 Exercices ................................................................................................................................................................................................................... 55 La variable implicite $_ .............................................................................................................................................................................................. 56 La vérité sur l'opérateur <> ....................................................................................................................................................................................... 56 D'autres types de boucles ......................................................................................................................................................................................... 56 La boucle until ........................................................................................................................................................................................................... 57 La boucle do … while ................................................................................................................................................................................................ 58 La boucle for .............................................................................................................................................................................................................. 58 La syntaxe en ligne ................................................................................................................................................................................................... 2/61 www.openclassrooms.com Apprenez à programmer en Perl ! Le tutoriel que vous êtes en train de lire est en bêta-test. Son auteur souhaite que vous lui fassiez part de vos commentaires pour l'aider à l'améliorer avant sa publication officielle. Notez que le contenu n'a pas été validé par l'équipe éditoriale du Site du Zéro. Par nohar et Kharec et Erd Mise à jour : 02/08/2012 Difficulté : Facile Connaissez-vous Perl ? « Seulement de nom » ? Cela ne m'étonne pas ! Assez méconnu de nos jours, notamment depuis la naissance et l'envol de PHP dans les années 1990, Perl est un langage de programmation à la réputation ésotérique. Certains poussent même le vice jusqu'à le qualifier de difficile à comprendre, lui donnant l'image d'un outil terrifiant au moyen duquel les « nerds » du côté obscur de la Force produisent des programmes cryptiques que bien peu de courageux aventuriers ne tentent de modifier après leur passage. Programmer en Perl relèverait donc, dans l'imaginaire collectif, tant de l'exploit que de la magie noire… Eh bien c'est faux ! Si vous lisez ces quelques mots, c'est que vous vous apprêtez à apprendre à programmer en Perl. V ous êtes donc sur le point de découvrir un langage qui a justement été conçu pour être plus facile et convivial à utiliser que les langages qui tiennent le devant de la scène tels que C ou Java, tout en restant un outil particulièrement puissant, capable de traiter d'énormes volumes de données en très peu de lignes de code, à tel point que ses caractéristiques ont été imitées dans la conception d'autres langages très utilisés dans le domaine du web, comme PHP ou Ruby. Il est le compagnon de route de nombreux administrateurs système sous Unix, mais aussi la matière première de plusieurs gros sites et applications connues, tels qu'Amazon, IMDb, slashdot, les serveurs Bugzilla, ou encore une partie du gestionnaire de version git. Perl est un langage pragmatique, de la puissance duquel il est facile de tirer profit afin de créer des scripts et des programmes en très peu de temps. Ces caractéristiques lui valent son surnom de rouleau de scotch de l'Internet. Cela ne vous est-il jamais arrivé de vous sentir démuni parce que vous n'aviez pas de scotch sous la main pour fabriquer ou réparer un objet indispensable en deux temps, trois mouvements ? À qui est destiné ce tutoriel ? V ous n'avez jamais codé de votre vie, mais vous souhaitez découvrir la programmation pour développer vos propres outils ou vos premiers petits jeux ? V ous êtes en stage ou travaillez dans une entreprise dans laquelle on vous a demandé d'écrire ou maintenir un script en Perl ? V ous connaissez déjà un autre langage comme C++ ou Java, mais ressentez le besoin d'un outil de beaucoup plus haut niveau pour faire communiquer vos programmes entre eux ? Ou bien vous êtes simplement curieux et joueur, et vous voulez passer gratuitement pour un mage noir aux yeux de vos amis geeks ? Si vous avez répondu « oui » à l'une de ces questions, ce cours est fait pour vous ! Sommaire 3/61 www.openclassrooms.com En lisant ce tutoriel, qui démarre depuis zéro, vous apprendrez : les bases de la programmation impérative, les caractéristiques qui font de Perl un indispensable couteau suisse, comment passer d'un problème concret à l'écriture du programme qui le résoud, les problématiques courantes en programmation : la lecture et l'écriture dans des fichiers et dans des flux de données, comment faire communiquer des programmes sur un réseau… les notions de base de la programmation orientée objet. Nous serons amenés à réaliser plusieurs programmes en suivant ce cours, tels que de petits jeux, des outils d'administration, et même un petit serveur web ! Alors, tentés ? Apprenez à programmer en Perl ! 4/61 www.openclassrooms.com Larry Wall, créateur de Perl Crédit photo : Randal Schwartz Partie 1 : Introduction à Perl Dans cette première partie vous apprendrez les bases de Perl de manière à être aptes, à réaliser vos premiers scripts. Qu'est-ce que Perl ? Bienvenue dans le premier chapitre de ce tutoriel ! V ous apprendrez d'abord ce qu'est Perl, puis quels outils il vous faut pour programmer en Perl. A la fin, vous exécuterez votre premier programme. Présentation Perl est un langage de programmation créé en 1987 par Larry Wall. À l'origine, il était surtout utilisé pour le développement de scripts d'administration système sous UNIX, mais, avec les années, et après plusieurs révisions importantes du langage, Perl est rapidement devenu un outil polyvalent, puissant et extrêmement pratique, ce qui lui vaut aujourd'hui le surnom humoristique de « rouleau de scotch de l'internet ». Un « langage de script » On entend souvent parler de « langage de script » lorsque l'on désigne certains langages comme Perl, PHP, Python ou encore Ruby, mais que signifie cette expression, au juste ? Pour comprendre cette distinction, il nous faut examiner brièvement les différentes façons dont les programmes peuvent être exécutés sur un ordinateur. Au départ, un programme se présente toujours comme un ensemble de fichiers qui ne contiennent rien d'autre que du texte. Cet ensemble de fichiers forme ce que l'on appelle le code-source du programme. Le code-source est rédigé dans un langage de programmation qui est compréhensible par les humains (du moins ceux qui savent programmer ). Il existe de très nombreux langages de programmation, dont Perl fait partie. Lorsque l'on veut exécuter un programme dont on possède le code-source, la première chose à faire est de le compiler. La compilation, c'est simplement le fait de transformer un programme écrit dans le langage X afin de lui donner une représentation abstraite que l'ordinateur peut comprendre. Typiquement, cette représentation abstraite modélise une série d'instructions. Cette étape de compilation est réalisée par ce que l'on appellera pour l'instant un super-programme. Après la phase de compilation, il peut se passer plusieurs choses, selon le langage (ou plutôt la technologie) utilisé(e) : Le super-programme peut décider d'exécuter directement les instructions qu'il vient de compiler. Dans ce cas de figure, le super-programme s'appelle un interpréteur. Alternativement, le super-programme peut décider de créer un nouveau fichier, dans lequel il va écrire les instructions qu'il vient de compiler, dans un langage compréhensible cette fois directement par l'ordinateur (le langage machine), et ce super-programme s'appelle alors, simplement, et par abus de langage, un compilateur. Il existe encore d'autres cas de figure possibles que nous tairons ici (ce n'est pas le sujet), mais ce qu'il faut retenir, c'est simplement que dans un cas, le programme que l'on vient de compiler est exécuté par l'interpréteur, alors que dans l'autre cas, le programme peut être uploads/Geographie/ apprenez-a-programmer-en-perl-pdf.pdf

  • 28
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager