Une certaine affluence, mais seulement deux David
Un historique de toutes nos réunions
- Alors que la
cinquième apocalypse,
celle sur les expressions régulières, vient de sortir, nous en
avons à peine parlé. Nous avons parlé en fait de l'autre
nouveauté, la
version 5.8.0.
Qu'y a-t-il de
nouveau
dans cette version ?
- un véritable support d'Unicode,
- des threads (par clonage d'interpréteur, le modèle ithreads),
- entrées-sorties par perlio au lieu de stdio,
- des signaux « plus » fiables.
- Même si la 5.8.0 montre le bout de son nez, certains systèmes
Unix sont encore livrés avec une version 5.005 ou antérieure.
Notamment, certaines machines dont s'occupe Nicolas ont une
version 5.003 (si j'ai bien compris). Du coup, il déteste les
modules commençant par une ligne du genre :
our $VERSION = v1.2;
- Frédéric est venu à la réunion pour rencontrer d'autres programmeurs Perl,
et avoir de la sorte un point de vue diversifié sur les techniques et styles
de programmation, diversification impossible à acquérir lorsque l'on reste dans
son coin. Curieusement, ce nouveau-venu connaît la version 4 de Perl !
- Je suis en train d'adapter le module standard
diagnostics.pm,
pour
qu'il puisse afficher les explications associées aux messsages en d'autres langues
que l'anglais. Pour les explications en français (la première langue qui sera
disponible, outre l'anglais), j'ai réutilisé le chapitre 33 de
Programmation Perl,
que m'a fourni Gérald. Philippe demande des explications sur une remarque que
Rafael Garcia-Suarez avait faite sur la liste : les messages dépendent de
la version. En effet, dans certains cas des fonctionnalités ont été rajoutées d'où
de nouveaux cas d'erreur, dans d'autres cas il s'agit simplement d'une modification
cosmétique. Prenons par exemple le programme suivant, qui ne fait rien d'intéressant
à part produire un message d'erreur :
/^ba(?:na){3,2}\sskin$/;
En 5.6.0, on a simplement
/^ba(?:na){3,2}\sskin$/: Can't do {n,m} with n > m at banana line 1.
En 5.6.1, on obtient une précision supplémentaire
Can't do {n,m} with n > m in regex; marked by << HERE in m/^ba(?:na){3,2} <<
HERE \sskin$/ at banana line 1
Et en 5.7.3, le message devient
Can't do {n,m} with n > m in regex; marked by <-- HERE in m/^ba(?:na){3,2} <--
HERE \sskin$/ at banana line 1
Comme on peut le constater, il y a une nette amélioration entre la 5.6.1
et la 5.7.3. : on a remplacé << par <-- !
À part cela, le module progresse bien, il devrait y avoir une version
utilisable dans pas longtemps sur le
serveur CVS
des Mongueurs, et un peu
plus tard sur CPAN. Avec cette nouvelle version, le programme
use diagnostics qw(-lang=fr);
/^ba(?:na){3,2}\sskin$/;
donnera
Can't do {n,m} with n > m in regex; marked by <-- HERE in m/^ba(?:na){3,2} <--
HERE \sskin$/ at banana line 2 (#1)
(Impossible de faire {n,m} avec n > m) (F) Les minima doivent
être inférieurs ou égaux aux maxima. Si vous voulez vraiment que votre
expression régulière corresponde 0 fois, faites juste {0}. La
mention « <-- HERE » indique l'endroit où le problème a été constaté.
Cf perlre.
Uncaught exception from user code:
Can't do {n,m} with n > m in regex; marked by <-- HERE in m/^ba(?:na){3,2} <-- HERE \sskin$/ at banana line 2.
- BooK s'intéresse de nouveau aux jeux en ligne (loteries, bingo, quizz) et
a l'intention de développer un module pour ce genre de jeux. Dans le cas
des quizz, il y aurait même une base de connaissances alimentée au fur et
à mesure des participations.
- Il s'intéresse à Webchat, mais il y a des problèmes sur CPAN. Je crois que
qu'il s'agit d'une archive contenant un module dont le nom est différent, ce
qui pose des problèmes pour la liste des modules et pour le moteur de recherche.
Heureusement, il est possible d'écrire à la
liste modules@perl.org,
dont Robin fait partie.
- Nicolas
a écrit un
module
interfaçant avec le logiciel Tomcat et
il souhaite le diffuser sur CPAN. Mais pour ce faire, il faut un compte sur
PAUSE. Cela fait un mois et demi environ qu'il a demandé un compte, et il n'a
pas eu de réponse jusqu'à présent. Il y a des problèmes de file d'attente sur
CPAN, alors que ceux qui ont demandé un compte il y a quelques mois ont eu une
réponse au bout d'une semaine environ.
- Lorsqu'il a demandé un compte sur CPAN, BooK a donné l'adresse de son site
personnel. Ce site figure bien dans la
liste alphabétique des participants à CPAN,
mais pas sur le moteur de recherche de modules lorsque l'on demande
qui est BooK.
Le bug doit venir du moteur de recherche.
- Perl 6, et éventuellement d'autres langages, seront basés sur la machine virtuelle
Parrot.
Le travail avance bien dans ce domaine. Il y a plusieurs applications
de démonstration pour Parrot, y compris une application qui affiche une
fenêtre et un bouton sous KDE.
- L'autre machine virtuelle connue, c'est celle de Java, la JVM. La JVM est une
machine à pile, ce qui est très intéressant d'un point de vue théorique et universitaire,
mais rien de plus. Parrot est une machine à registres, ce qui est beaucoup plus
efficace pour les applications que l'on rencontre dans la vie de tous les jours.
- Il paraît que Tom Christiansen a écrit un module permettant d'interdire l'utilisation
de la variable $_. Le module n'est pas appelé par use, comme habituellement,
mais par :
no underscore;
ce qui est plus compréhensible à la lecture. Ce module ne servira plus à rien
en Perl 6, car la variable implicite sera la variable de boucle. Par exemple, dans
une boucle
for my $elem (@liste)
toute instruction telle que s/avant/après/ s'appliquera
à $elem, pas $_. [ Désolé, je n'ai pas pu
retrouver ce module. ]
- Cela fait un certain temps que nous n'avons plus de nouvelles
de Kai. Lorsque Philippe est allé chez
O'Reilly
au mois de janvier, Dominique Buraud lui a demandé s'il avait des
contacts avec Kai. Philippe a répondu que Kai devait sans doute
participer à The German Perl Workshop et qu'il était
injoignable pour cette raison. Mais depuis, nous n'avons pas eu
d'autres nouvelles de lui.
- Un autre qui a disparu d'Internet, c'est Claudio Calvelli,
celui qui a « commis »
Perlfs
(un système de fichiers écrit en Perl). Son site ne répond plus,
et lorsque l'on recherche ses écrits sur le net, les plus récents
datent de 2001.
- Frédéric a eu un problème curieux
récemment. Un programme qui fonctionnait correctement avec
l'option -w ne fonctionnait plus lorsque l'on supprimait
cette option. Cela vient, semble-t-il, du fait que la ligne
#! se termine par un blanc, ce qui perturbe la recherche
de l'interpréteur. D'autres, dont moi, avons subi un désagrément
analogue lorsqu'un interpréteur Perl pour Unix lisait un fichier
créé sous Windows, donc avec des CRLF pour terminer les lignes.
HTML 5 - CSS v3
Mongueurs de Paris, le 28 juin 2018
Copyright © The Paris Perl Mongers, 1999-2024