0

http://cpansearch.perl.org/src/MSTROUT/YAML-0.84/lib/YAML/Loader/Base.pm

如果我打

die 'load() not implemented in this class.';

这意味着什么?

我是一个完整的 perl 新手,并试图学习/调试为什么我会看到这个错误。

这是否意味着,我应该在其他地方(重载)实现 load() 而我不应该到达这里?

我的代码是:

try.pm

use YAML;
my $yaml = YAML::LoadFile( $params{'filename'} );

转到 YAML.pm,其中有:

field loader_class => 'YAML::Loader';

并调用 LoadFile() 并执行以下操作:

Load(do { local $/; <$IN> }); 

调用 Load()

$yaml->loader_class($YAML::LoaderClass)
    if $YAML::LoaderClass;

这就是我看到错误的地方:YAML/Loader/Base.pm

4

1 回答 1

0

YAML::Loader::Base 被用作提供一些通用功能的基类。load必须在基类中被覆盖。

尝试升级 YAML。您的版本中似乎存在错误。

于 2012-12-12T20:50:42.240 回答