Perl¶
Langage de scripting polyvalent créé par Larry Wall en 1987, Perl reste une référence pour le traitement de texte, l'administration système et la bioinformatique. Sa philosophie TMTOWTDI (There's More Than One Way To Do It) en fait un langage très expressif.
graph LR
A["Histoire"] --> B["Frameworks"]
B --> C["Exemples"]
C --> D["Tests"]
D --> E["Construction"]
E --> F["Bonnes pratiques"]
F --> G["Ecosysteme"] Ce que vous allez apprendre¶
À la fin de ce tutoriel, vous serez capable de :
- Situer Perl dans son évolution de Larry Wall a Perl 5 et comprendre le rôle fondateur de CPAN
- Choisir un framework web adapté (Mojolicious, Dancer2, Catalyst) avec le middleware Plack/PSGI
- Implémenter une API REST CRUD avec Mojolicious et des moteurs de parsing de texte multi-format
- Mettre en place des tests avec Test::More, Test2::V0 et mesurer la couverture avec Devel::Cover
- Construire et distribuer des modules avec cpanm, Carton et la plateforme PAUSE
- Appliquer les conventions de code Perl et éviter les anti-patterns courants
Parcours¶
| Section | Contenu |
|---|---|
| Histoire | Origines de Perl, évolution de Perl 4 a Perl 5, CPAN et la revolution du partage de code, positionnement actuel |
| Frameworks courants | Comparatif des frameworks web (Mojolicious, Dancer2, Catalyst), middleware Plack/PSGI, écosystème complementaire |
| Exemples d'implementation | API REST CRUD avec Mojolicious, moteur de parsing et transformation de texte multi-format |
| Tests | Test::More, Test2::V0, Test::Mojo, mocking avec Test::MockModule, coverage avec Devel::Cover |
| Construction & packaging | cpanm, Carton, cpanfile, distribution PAUSE, Dockerfile multi-stage, fatpacking, CI/CD |
| Bonnes pratiques | Conventions de code, idiomes Perl, anti-patterns a éviter, gestion d'erreurs robuste, performance |
| Ecosysteme | IDEs, linters, analyseurs statiques, debuggers, profileurs, gestionnaires de version Perl |