簡體   English   中英

我如何在perl中加載包自身?

[英]How do i load the package self in perl?

現在,我正在嘗試生成XML並從Perl中將其打印出來。 我發現這個模塊XML :: Write看起來不錯。 但是當我想嘗試一下時,我遇到了一些相當奇怪的錯誤...

我的測試腳本如下所示

#!/usr/local/bin/perl -w

use strict;
use strict 'refs';
use XML::Writer;

my $writer = XML::Writer->new(OUTPUT => 'self');
$writer->xmlDecl("ISO-8859-1");
$writer->startTag("foo");
$writer->endTag("foo");
$writer->end;
print $writer->to_string;

當我運行它時,唯一的輸出是

無法在/usr/lib/perl5/site_perl/5.8.8/XML/Writer.pm第132行通過包“ self”(也許您忘記加載“ self”?)找到對象方法“ print”。

我想念什么? 我是否必須安裝一些額外的模塊以使perl的OO部分可用? 我應該以某種方式安裝XML :: Write的舊版本,因為我有相當舊的Perl版本?

任何幫助,將不勝感激!

v0.620中添加了構造函數的OUTPUT選項的特殊值self 以前,它期望使用IO::Handle或標量引用。

安裝當前版本以使用此功能,或查閱已安裝版本的文檔(例如,使用命令行perldoc XML::Writer或通過在“轉到版本”下拉列表中選擇版本) metacpan頁面 。)

對於您的用例,您可以提供參考:

my $output;
my $writer = XML::Writer->new(OUTPUT => \$output);
...;
print $output;

我有類似的錯誤消息。 我的問題是我在嘗試加載的模塊主體中缺少$符號。 有一條指令self->...應該是$self->....

我希望這有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM