J'en attends:
#!/usr/bin/perl
use autodie;
# autodie in effect here
{
no autodie;
# autodie is not in effect here
}
# autodie should be in effect here because of the supposedly lexical scope
# of autodie, but this doesn't die:
open my $i, '<', '/nonexistent';
Je me base que sur perldoc autodie
qui dit:
Le "autodie" pragma est portée lexicale, ce qui signifie que les fonctions et les les sous-routines modifiées avec des "autodie" ne changeront leur comportement jusqu'à la fin du bloc enfermant, fichier, ou "eval"
Aussi, { no autodie }
(dans un champ) est même une partie de l' SYNOPSIS
use/no warnings
se comporte comme je m'attends à:
#!/usr/bin/perl
use warnings;
{
no warnings;
}
# This *does* generate a warning
print undef;
Ai-je raté quelque chose ou vous êtes d'accord il y a un bug dans autodie? Je n'ai rien trouvé dans la liste de bogues, il autodie
This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
EDIT: j'ai déposé un rapport de bug