Estoy esperando:Error en autodie.pm de Perl?
#!/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';
Mi base es que perldoc autodie
que dice:
El "autodie" Pragma tiene ámbito léxico, lo que significa que las funciones y subrutinas alterados con "autodie" sólo cambiar su comportamiento hasta el final del bloque de encerramiento, archivo o "eval"
también, { no autodie }
(en un ámbito de aplicación) es incluso parte de los SYNOPSIS
use/no warnings
se comporta como espero:
#!/usr/bin/perl
use warnings;
{
no warnings;
}
# This *does* generate a warning
print undef;
¿Me he perdido algo o ¿estás de acuerdo que hay un error en autodie? No he encontrado nada en el autodie buglist
This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
EDIT: ahora me he presentado a bug report
Confirmado en Perl v5.14.2 (x86_64). –