Programmation système
- Rappel des principes 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...
- Mise en oeuvre de l'Objet : 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.
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 Perl 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 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.
- Les jonctions et l'évaluation paresseuse.