[英]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.