Tôi đang mong đợi:Lỗi trong autodie.pm của 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';
tôi căn cứ rằng trên perldoc autodie
nói rằng:
Các "autodie" pragma có phạm vi từ vựng, có nghĩa là chức năng và thủ tục con thay đổi với "autodie" sẽ chỉ thay đổi hành vi của họ cho đến khi kết thúc khối bao quanh, tệp hoặc "eval"
Ngoài ra, { no autodie }
(trong phạm vi) thậm chí là một phần của cư xử SYNOPSIS
use/no warnings
như tôi mong đợi:
#!/usr/bin/perl
use warnings;
{
no warnings;
}
# This *does* generate a warning
print undef;
tôi đã bỏ lỡ một cái gì đó hay bạn đồng ý có một lỗi trong autodie? Tôi không tìm thấy bất cứ điều gì trong autodie buglist
This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
EDIT: bây giờ tôi đã nộp a bug report
Đã xác nhận trong Perl v5.14.2 (x86_64). –