Présentation
- Historique du langage.
- Perl, pour quel usage ?
- Caractéristiques du langage Perl.
- Les différentes distributions et versions.
- La documentation officielle.
- Installation et première exécution d'un programme Perl.
- Fichiers sources, extension et interprétation.
- Les outils pour utiliser Perl.
Travaux pratiques
Installation de l'interpréteur Perl.
L'essentiel du langage
- Structure d'un programme Perl, en-tête de script.
- Conventions de codage et règles de nommage.
- Ajout de commentaires.
- Les chaînes de caractères, interprétation de codes.
- Les variables, nommage et typage. Portée des variables.
- Les scalaires.
- Les opérateurs : calcul, incrément, affectation, comparaison...
- Les tableaux, initialisation, affichage du contenu.
- Les tableaux associatifs (hash table), les fonctions keys et values.
- Les références mémoires.
- Les variables systèmes.
- La notion de blocs.
- Les structures de contrôle conditionnelles : if, if... else, if... elsif... else.
- Les structures de contrôle itératives : while, for, until, foreach.
- Les flux entrées/sorties standard (stdin, stdout, stderr).
Travaux pratiques
Manipulation du langage à travers l'écriture de différents programmes.
Expressions régulières
- Les cas d'utilisation des expressions.
- Panorama des différents motifs : les méta-caractères, les quantificateurs, les caractères spéciaux.
- Le Pattern Matching.
- Le Pattern Substitute.
- Options de la ligne de commande pour l'interpréteur.
- Programme tiers : sed, awk...
- Perl utilisé comme filtre supplémentaire.
Travaux pratiques
Mise en oeuvre d'expressions régulières.
Fonctions, procédures, modules
- Définition des fonctions. Différence entre fonctions et procédures.
- La déclaration d'une fonction, le mécanisme d'appel, le passage d'arguments et la récupération des résultats.
- Visibilité des variables, l'opérateur my.
- Utilisation des références.
- Les fonctions intégrées dans Perl : chomp, chop, length...
- Notion de "package" et de module.
- Modules de la distribution standard.
- Modules du CPAN, recensement, documentation, sites de ressources.
- Installation de modules.
- Utilisation d'un module "classique" et d'un module "Orienté Objet". Les fonctions require et use.
- Fabrication d'un module.
- Documenter les modules créés.
Travaux pratiques
Ecriture de fonctions. Intégration d'un module dans un développement. Création d'un module.
Gestion des fichiers et des répertoires
- Notion de filehandle.
- Gestion des fichiers : ouverture, lecture, écriture, fermeture...
- Informations sur les fichiers (propriétaire, taille, droits...), la fonction stat.
- L'opérateur diamant.
- Gestion des répertoires : changement, parcours, création, suppression...
- Gestion des erreurs sur manipulation des fichiers et des répertoires.
Travaux pratiques
Lecture/écriture dans un fichier. Manipulation des répertoires.
Interactions avec le système d'exploitation
- Accès aux informations du système d'exploitation.
- Les commandes agissant sur le système : mkdir, rmdir, chown, chroot, chmod...
- Gestion des processus.
- Création de processus fils : system, exec.
- Les quotes inverses.
- Interactions avec le système Windows (modules Win32 et Win32API).
Travaux pratiques
Création de processus fils.
Aspects avancés, bases de données, implémentation Objet
- Tris personnalisés.
- Traitements complémentaires sur les chaînes de caractères.
- Structures de données élaborées à l'aide des références anonymes.
- Accès aux bases de données à l'aide du module DBI.
- Etablissement et configuration d'une connexion, requêtage et récupération des résultats.
- Création de la structure d'une classe et instanciation : paquetage, sous-programme et référence.
- Constructeur et destructeur d'objets.
- Invocation des méthodes d'une classe.
- Le ramasse-miettes.
Travaux pratiques
Exploitation des données d'une base de données relationnelle.
Scripts Perl dans un contexte Web, module CGI
- Protocole HTTP, serveur Web, schéma fonctionnel CGI.
- Le module CGI.
- Variables d'environnement, méthodes GET et POST.
- Génération des éléments HTML du formulaire avec Perl.
- Traitement des formulaires, exploitation des résultats.
Travaux pratiques
Ecriture d'un script CGI en Perl.