0
如果我們設置一個這樣的指定格式。有什麼辦法可以複製輸出並將其放入文件中。把格式化的輸出放在一個文件中,perl格式
PS:當我使用嚴格的,它顯示「全局符號‘$計數器’需要明確包名在aggregator.pl第19行」。這是什麼造成的?我用本地來定義它的範圍,所以我有點困惑。希望有人能給我一個迴應。 THX很多
enter code here
# Setup includes
# use strict;
use XML::RSS;
use LWP::UserAgent;
# Declare variables for URL to be parsed
my $url2parse;
# Get the command-line argument
my $arg = shift;
# Create new instance of XML::RSS
my $rss = new XML::RSS;
# Get the URL, assign it to url2parse, and then parse the RSS content
$url2parse = get($arg);
die "Could not retrieve $arg" unless $url2parse;
$rss->parse($url2parse);
#create arrays to hold data
my @titles;
local $counter = 0;
#open file and write .txt output to it
open my $fh, ">output.txt" or die "File creation failed: $!";
# Print the channel items
foreach my $item (@{$rss->{'items'}}) {
$titles[$counter] = $item->{'title'};
&format_output($item->{'title'});
$counter++;
}
sub get {
my $url = shift;
my $ua = LWP::UserAgent->new();
my $res = $ua->get($url);
die ("Could not retrieve $url: " . $res->status_line) unless($res->is_success);
return $res->content;
}
sub format_output {
local($title) = @_;
$~ = "MYFORMAT";
write;
print $fh @_;
}
format MYFORMAT =
=======================
Title :~ ^<<<<<<<<<
$title
=======================
.
不錯!你真的幫我過。非常感謝 – 2012-04-11 04:50:39
使用'our'而不是'vars',現在被認爲是_obsolete_。 – 2012-04-11 06:04:01
@rainzwr就這麼預期,你將通過點擊勾選只是答案的左邊的「接受」正確的答案。這標誌着它爲未來的讀者,並獎勵答覆的答覆者。 – 2012-04-11 06:33:40