0

aptitudeパッケージマネージャーを使用してDebianLennyOSにインストールされたPerl5.10/libwwwを使用してHTTP::Message :: decodable()Can't use an undefined value as a HASH referenceを呼び出そうとするとエラーが発生します。私は本当に立ち往生しているので、助けていただければ幸いです。

エラーは次のとおりです。

(eval 2)1行目で未定義の値をHASH参照として使用することはできません。
test.plの4行目
main :: __ ANON __('未定義の値をHASH参照として使用することはできません
ここにコードを入力`(eval 2)...')(eval 2)行1で呼び出されます
HTTP :: Message :: __ ANON __()がtest.plの6行目で呼び出されました

コードは次のとおりです。

use strict;
use HTTP::Request::Common;
use Carp;
$SIG{ __DIE__ } = sub { Carp::confess( @_ ) };

print HTTP::Message::decodable();
4

2 に答える 2

1

Gavin の言うとおりでした。古いバージョンの libwww-perl がインストールされていました。私は、Debian Lenny で入手可能な最新バージョンを使用することに依存していました (これがかなり最新であると仮定して)。利用可能な最新バージョンは 5.813 ですが、この機能を使用するには 5.814 以上が必要です。aptitude を介して利用できるパッケージ化されたバージョンがないため、代わりに CPAN を使用して最新のものをインストールしました。

$ perl -MCPAN -e shell
cpan[1]> upgrade HTTP::Message

すべて完了!

于 2010-03-17T10:39:09.720 に答える
1

changelogを見ると、HTTP::Message::decodable()バージョン 5.814 で追加されたようです。お使いのバージョンの適切なドキュメントを読んでいますか?

試す:

perl -MHTTP::Message -e 'warn $HTTP::Message::VERSION'

.. 5.814 以上を返す必要があります...

于 2010-03-17T08:39:58.593 に答える