|
Une certaine affluence, mais seulement deux DavidUn historique de toutes nos réunions |
|
La voix du secrétaire (Jean), avec l'aide de Philippe
Présents à la réunion :
Il a été question de Perl, d'Internet, d'informatique et de sujets divers.
our $VERSION = v1.2;
/^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 programmeuse 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.
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. ]
my $x = ' ' x 1_000_000; my $y = $x; substr($y, 42, 1) = '*';La première ligne provoque l'allocation d'un million d'octets. La deuxième ligne ne demande rien, les deux variables $x et $y étant (temporairement) associées à la même plage de mémoire programme. Et c'est seulement lors de l'exécution de la troisième ligne que le programme alloue un deuxième million d'octets. [ Jérôme Abela me signale qu'il n'a pas pu reproduire ce résultat sur sa version 5.6.1. C'est dû à l'une de ces raisons suivantes, ou à une combinaison de ces raisons :
<ol> <li>Machin a dit que... <li>Nous évoquons... <li>Suite à un article dans <tt>use.perl</tt>... </ol>puis, lorsque la rédaction du compte-rendu est achevée, j'accole à chaque balise <li> une balise <a name="a"></a>, <a name="b"></a> et ainsi de suite :
<ol> <li><a name="z"></a>Machin a dit que... <li><a name="aa"></a>Nous évoquons... <li><a name="ab"></a>Suite à un article dans <tt>use.perl</tt>... </ol>Cette insertion de balises, je l'ai programmée en Perl, mais je l'appelle comme toute commande Emacs, avec ESC-x insert-ancres. Cela dit, je n'ai pas écrit beaucoup de fonctions EPL, car il existe tellement de fonctions de base dans Emacs et pour les cas simples, j'utilise Lisp. Exemple :
(defun html-latex () (interactive) (insert "L<sup>A</sup>T<sub>E</sub>X")) (define-key html-mode-map "\C-cl " 'html-latex)Nicolas parle de la version 21, un net progrès par rapport à la version 20.
|
Retour aux Mongueurs |
Paris, le 5 July 2006 Copyright © The Paris Perl Mongers, 1999-2008 |