» Programmation système
Rappel des principes de base des processus : fork et exec.
Rappel des principes de la gestion des signaux.
Envoyer un signal à des processus : la fonction kill
Gérer les signaux : le pragma sigtrap, installer un gestionnaire de signal.
Programmation des sockets et services de IO::Socket à Net::Server.
Présentation de la programmation des threads.
Travaux pratiques
Ecriture de programmes Perl pour manipuler les fonctions systèmes.
» Perl et l'objet
Quelques définitions : programmation orientée objet, classe, instance, constructeur, destructeur, héritage ...
La mise en oeuvre de l'objet en Perl : le paquetage pour la classe, le hachage pour les attributs, les fonctions pour les méthodes.
La création d'instance : la bénédiction (bless) de la référence de l'objet.
Programmer un constructeur.
Agir quand l'objet est détruit, la méthode DESTROY.
L'héritage : le tableau @ISA et la classe UNIVERSAL.
La surcharge de méthode, l'utilisation de SUPER.
Abstraction : l'avenir de l'objet dans Perl, de Class::Std et Class::Accessor à Moose.
Travaux pratiques
Programmation de classes. Mise en oeuvre des concepts objets (héritage, surcharge...).
» Interface graphique : de Perl/Tk à GTK
Comprendre et maintenir du code écrit en Perl/Tk.
Présentation et installation de Perl/Tk.
Gestionnaire de géométrie : Pack, Grid, Place.
Les Widgets par famille.
Les boutons : Button, Checkbutton, Radiobutton.
Libellé et zone de saisie : Label, Entry.
Ascenseur, liste, menu et saisie de texte : Scrollbar, Listbox, Menubutton, Optionmenu, Text.
Les conteneurs : Canvas, Frame, Toplevel.
La gestion des événements.
Travaux pratiques
Création d'une application avec interface graphique en Perl/Tk et gestion événementielle.
» Écrire du nouveau code en utilisant GTK
Lien entre Pert et GTK : installer GTK et ses bibliothèques.
Widget : hiérarchie, création, accélérateurs clavier, conteneurs de bases, ...
Widget : signaux et événements.
Les différents types de boutons : Toggle (interrupteurs), radio, ...
Travaux pratiques
Manipulation de différents composants : boutons, boite de boutons, Widget cadre, ...
» Evolutions
Fonctionnalités apportées par Perl 5.10, 5.12, 5.14.
Perl 6 : un nouveau langage.
Nouveautés : les sigils, typage statique et dynamique, paramètres formels des fonctions.
Un véritable langage objet.
De nouveaux concepts : les jonctions et l'évaluation paresseuse.