我在使用aptitude软件包管理器在Debian Lenny OS上安装Perl 5.10 / libwww时尝试调用HTTP::Message::decodable()时遇到Can't use an undefined value as a HASH reference
错误。我真的被卡住了所以请一定帮助。
这是错误:
Can't use an undefined value as a HASH reference at (eval 2) line 1. at test.pl line 4 main::__ANON__('Can\'t use an undefined value as a HASH reference at enter code here`(eval 2)...') called at (eval 2) line 1 HTTP::Message::__ANON__() called at test.pl line 6
以下是代码:
use strict;
use HTTP::Request::Common;
use Carp;
$SIG{ __DIE__ } = sub { Carp::confess( @_ ) };
print HTTP::Message::decodable();
答案 0 :(得分:1)
查看changelog,看起来在版本5.814中添加了HTTP::Message::decodable()
。您确定要阅读适合您版本的文档吗?
尝试:
perl -MHTTP::Message -e 'warn $HTTP::Message::VERSION'
..它应该返回5.814或更多...
答案 1 :(得分:1)
Gavin是对的 - 我安装了旧版本的libwww-perl。我依赖于使用Debian Lenny上的最新版本(假设这是相当最新的)。原来可用的最新版本是5.813但我需要5.814或更多来使用这个功能。由于没有通过aptitude提供的打包版本,我使用CPAN安装了最新版本:
$ perl -MCPAN -e shell
cpan[1]> upgrade HTTP::Message
全部完成!