use DateTime::TimeZone::Local;
use Test::More tests => 1;
my @input = (1 .. 10);
my (@output) = sort {
DateTime::TimeZone::Local->TimeZone();
$a cmp $b
} @input;
is_deeply(\@output, \@input);
1..1
Can't return outside a subroutine at /usr/local/share/perl/5.8.8/DateTime/TimeZone/Local.pm line 72.
# Looks like your test exited with 9 before it could output anything.
shell returned 9
Tôi đã kiểm tra và nó chắc chắn là bên trong một thói quen phụ. Có vẻ như không liên quan gì đến mô-đun được sử dụng, mã này cũng gây ra lỗi tương tự:
my @output = sort {
sub1();
} (1 .. 5);
sub sub1 {
eval "use ModuleDoesntExist";
return 1; # remove this and get a seg fault
}
Dường như đây là lỗi trong PERL nhiều hơn bất kỳ thứ gì. Bất kỳ ý tưởng? Quan tâm hơn đến lý do tại sao điều này xảy ra hơn là giải pháp thay thế - nó chỉ xảy ra nếu mô-đun không tồn tại.
Hoạt động tốt ở đây. – cdhowie
Chạy trên Linux, PERL phiên bản 5.8.8 - bạn? :( –
Debian Lenny, Perl 5.10.0. – cdhowie