Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • You forgot to check whether the get() succeeded!

    In LWP OO terms:

    use LWP;
    my $resp = LWP::UserAgent->new->get($url);
    die "GRAH! ", $resp->status_line unless $resp->is_success;
    ... HTML::TokeParser->new( $resp->content_ref ) ...

    • I get this now (with your modifications):

      Can't locate object method "get" via package "LWP::UserAgent"
      (perhaps you forgot to load "LWP::UserAgent"?) at HTML/TokeParser/URL.pm line 18.

      • Upgrade your LWP!
        • This is on a windows machine, ActivePerl 631. In PPM I see no where to update LWP/libwww-perl. In PPM3 it shows libwww-perl 5.51 as up to date.

          I guess I could manualy upgrade it manualy.

          I did check this on a FreeBSD box, and it works! Thanks for the suggestion.
          • Or just do $browser->request(HTTP::Request->new(GET=>$url)) instead of $browser->get($url)
            • I like this approch, since it will now work on older versions of LWP. (In a perfect world backward compatibility would not be known).

              Thanks for your help.
              • I shouldn't pass up this chance to say that there are certain security problems with older LWP dists; but if you just don't use them in a CGI, you're fine.