gpt4 book ai didi

perl - 如果在 sort() 期间使用了不存在的模块,则脚本将终止 - DateTime::TimeZone::Locale 示例

转载 作者:行者123 更新时间:2023-12-04 20:57:17 25 4
gpt4 key购买 nike

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

我已经检查过了,它肯定在一个子程序中。它似乎与使用的模块无关,此代码也会导致相同的错误:
my @output = sort {
sub1();
} (1 .. 5);

sub sub1 {
eval "use ModuleDoesntExist";
return 1; # remove this and get a seg fault
}

看起来它是 PERL 中的一个错误,而不是任何东西。有任何想法吗?对为什么会发生这种情况比解决方法更感兴趣 - 它仅在模块不存在时发生。

最佳答案

看起来它实际上是 Perl 中的一个错误。见 this thread在 Perl Porters 列表中。

关于perl - 如果在 sort() 期间使用了不存在的模块,则脚本将终止 - DateTime::TimeZone::Locale 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4206288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com