use strict; use warnings; use Gnome2::VFS; Gnome2::VFS->init; my $url = 'http://sourceforge.net/export/rss2_projnews.php?group_id=64773&rss_fulltext=1'; my ($result, $handle, $info); ($result, $handle) = Gnome2::VFS->open($url, "read"); die "Problem: $@" unless $result eq "ok"; ($result, $info) = $handle->get_file_info("default"); die "Problem: $@" unless $result eq "ok"; my $bytes = $info->{size}; my $bytes_read = 0; my $buffer = ""; do { my ($tmp_buffer, $tmp_bytes_read); ($result, $tmp_bytes_read, $tmp_buffer) = $handle->read($bytes - $bytes_read); die "Problem: $@" unless $result eq "ok"; $buffer .= $tmp_buffer; $bytes_read += $tmp_bytes_read; } while ($result eq "ok" and $bytes_read < $bytes); $result = $handle->close(); die "Problem: $@" unless $result eq "ok"; print $buffer;