Je crois me souvenir que Perl 5 formats seulement travaillé avec les variables de package et PBP semble appuyer cette affirmation à la page 449:Depuis combien de temps les formats Perl 5 sont-ils capables de gérer les variables lexicales?
Formats se fondent sur des variables globales pour la configuration, et sur les variables de package pour les données qu'ils sont pour formater (voir le chapitre 5).
Mais un test rapide semble démontrer le contraire (testé avec 5.8.9, 5.10.0 et 5.12.1):
#!/usr/bin/perl
use strict;
use warnings;
my $foo = "hello world";
write;
format STDOUT =
@<<<<<<<<<<<<<<<
$foo
.
ce changement est dans une version de Perl 5 ou am J'ai mal compris quelque chose?
PBP semble avoir obtenu ce mauvais, au moins de ce que vous avez posté ici. Je ne me souviens pas si je l'ai marqué sur ma copie griffonnée à l'arc-en-ciel que j'ai remise à Damian, et que ma copie propre est à la maison. – tchrist
Les noms 'format' que l'on charge les variables' $ ~ 'et' $^'par-filehandle sont ceux qui sont visibles par le paquet. Vous ne pouvez pas simplement y mettre '* WHATEVER {FORMAT}'; il stresse, bien que je ne sais pas pourquoi. Semble une extension logique. – tchrist
S'il vous plaît ne pas prendre ce commentaire aussi critique que cela semble être: ne sont pas des formats Perl, en grande, déprécié? – Axeman