#!/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';
我基礎上perldoc autodie
,說:
的「autodie」雜注有詞法範圍,這意味着以「autodie」改變功能和 子程序只會改變他們的行爲 直到封閉塊,文件的末尾,或「EVAL」
另外,{ no autodie }
(在範圍內),甚至在SYNOPSIS
use/no warnings
的行爲的一部分,我希望:
#!/usr/bin/perl
use warnings;
{
no warnings;
}
# This *does* generate a warning
print undef;
我錯過了什麼或不同意您的說法在autodie的錯誤嗎?我沒有找到在autodie buglist
This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
編輯任何內容:我現在已經申請a bug report
在Perl v5.14.2(x86_64)中確認。 –