# Programmation Perl

* Une version imprimable du livre « Programmation Perl » est disponible. (voir/ modifier)
<< Retour au sommaire
Nous vous proposons, par ce livre, d'apprendre la programmation en langage Perl.
Il est destiné à toute personne, déjà expérimentée dans la programmation ou non. Il a pour but d'intéresser les plus débutants et les plus expérimentés. Nous espérons que ce document vous permettra d'apprendre rapidement et sans difficulté les bases de ce langage, et d'atteindre un niveau intermédiaire voire expert.
Il est préférable de connaître des bases d'informatique et d'algorithmique ; si vous n'en avez pas ou si vous voulez réviser des notions pendant l'apprentissage du Perl, vous pouvez consulter les Wikilivres associés : Programmation, Algorithmique et Structures de données. Cependant, ce n'est de loin pas obligatoire et beaucoup d'exemples sont donnés pour que le lecteur le moins averti se sente à l'aise.
Le langage Perl permet de s'abstraire de notions liées à l'architecture d'un ordinateur, comme la gestion de la mémoire. Si la connaissance de ces principes peut aider à comprendre certains côtés du langage, ils ne sont cependant pas nécessaires pour lire ce Wikilivre, les concepts étant expliqués chaque fois que cela est nécessaire.
Ce livre, en constante évolution, est issu d'un projet collaboratif. Si vous trouvez des erreurs, vous pouvez le corriger directement à l'aide des liens « Modifier » sur chaque page. Vous pouvez poser des questions et apporter vos remarques en laissant un nouveau message sur la page de discussion de ce livre. Toute question ou participation est la bienvenue !
Bonne lecture !

## Introduction

    Quelques explications sur le langage, son histoire et son avenir (Perl6).

## Bases du langage

    Dans cette partie, nous étudierons les concepts de base du langage Perl, sa syntaxe ainsi que la manière dont un programme est structuré.

## Types de base

    Ensuite, nous présenterons les différents types de base que fournit le langage Perl.

## Fonctions sur listes

    Comment le Perl gère les tableaux et listes de données. Il y a beaucoup à dire.

## Opérateurs

    Nous étudierons ensuite les opérateurs permettant de travailler sur les scalaires, ainsi que les règles générales qui structurent les expressions en Perl.

## Structures de contrôle - tests

    La notion d'expression définie, nous aborderons les moyens de contrôler le flux d'exécution d'un programme. Tout d'abord, les tests de type Si...Alors...Fin Si seront étudiés.

## Structures de contrôle - itérations

    Dans la suite du chapitre précédent, nous étudierons les structure d'itérations, ou boucles, de type Pour, Tant que ainsi que d'autres systèmes de boucles particulières.

## Fonctions et procédures

    Comment le Perl prend en charge les fonctions et procédures.

## Utiliser et créer des modules

    Nous verrons comment utiliser les modules de Perl, qui permettent d'étendre le langage et de simplifier grandement la programmation en factorisant le code.

## Bibliothèque standard

    Cette partie a pour but de familiariser le lecteur avec la « bibliothèque standard » du Perl. Celle-ci propose un ensemble de fonctions, mais aussi de types ou de variables permettant d'effectuer des opérations spécifiques, comme les traitements de fichiers, les calculs mathématiques, ou la gestion des chaînes des caractères.

## Chaînes de caractères

    Les chaînes de caractères sont un élément important des langages de programmation. Perl peut tout aussi bien gérer des chaînes en caractères 8 bits que des chaînes Unicode.

## Expressions régulières

    L'utilisation d'expressions régulières en Perl fait partie intégrante du langage, un outil extrêmement puissant. Chapitre un peu plus long que les autres (prenez votre temps !).

## Programmation Orienté Objet

    La programmation Orientée Objet est de plus en plus utilisée, il devient important de comprendre les concepts. Nous verrons comment programmer en orienté objet en Perl facilement avec le module Moose.

## Entrées/sorties

    Ce chapitre traite des interactions avec l'utilisateur et le système d'exploitation. Globalement toute sorte de manipulation de donnée (gestion des fichiers et des différents formats).

## Erreurs

    La bibliothèque standard utilise un mécanisme unique pour la gestion d'erreur, qui permet à un programme de déterminer précisément la cause de l'échec d'une fonction de la bibliothèque standard.

## Réseau

    Quels sont les modules à utiliser pour programmer des applications en réseau, quelles sont les bonnes pratiques.

## Bibliothèques utiles

    Un petit tour d'horizon des bibliothèques les plus utilisées, concernant diverses manipulations.

## Tutoriels

    Nous allons voir un certain nombre de tutoriels sur la programmation web, comment créer un bot IRC, quelques jeux simples….