Я написал вот такой скрипт:
#! /usr/bin/perl
use File::Basename;
use LWP::Simple qw(mirror);
use XML::RSS;
use Text::Iconv;
my $converter = Text::Iconv->new('utf8','windows-1251');
$url = "http://news.yandex.ru/internet.rss";
my $name = basename($url);
mirror($url, "$name");
my $rss = new XML::RSS;
$rss->parsefile($name);
print "Content-type: text/html\n\n";
for (@{$rss->{items}})
{
print "<a href='$_->{link}'>";
print $converter->convert($_->{'title'}) . "</a><br>\n";
}
Все прекрасно работает, когда запускается из под линукса. Когда я запускаю это через браузер - то все прекрасно выдается, но не файл не обновляется ( mirror($url, "$name"); вот это не работает). поэтому когда смотришь через браузер отображаются только старые каналы.
Вопросы:
1. Почему mirror($url, "$name"); не работает, когда запускается скрипт через браузер
2. Скажите пожалуйста, может быть существует какая-нибудь возможность парсить rss не сохраняя его в качестве файла на локальной машине, а только держа в памяти?
Заранее большое спасибо!