函数未在此类中实现 - perl错误

时间:2012-12-12 20:15:21

标签: perl yaml cpan

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 /装载机/ Base.pm

1 个答案:

答案 0 :(得分:0)

YAML :: Loader :: Base用作基类,以提供一些常用功能。必须在基类中重写load

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