You don't tell us in what way the as_string method "fails", but from your description of locating the offending line, I assume that your program stops executing there.
My guess is, that it is not the as_string mehtod that actually fails, but simply that $user_page is not what you believe it to be - most likely, it's undefined, as $ua->request($req) returned undef because of some failure.
All I can recommend to you is more thorough error checking and logging all output (especially all the output to STDERR) to a logfile, possibly by reopening STDOUT and STDERR to files, or setting up $SIG{__WARN__} and $SIG{__DIE__} handlers that call progress_log :
sub log_die { progress_log( '***' . join ' ', @_ ); }; sub log_warn { progress_log( '???' . join ' ', @_ ); }; BEGIN{ $SIG{__WARN__} = \&log_warn; $SIG{__DIE__} = \&log_die; };
Of course, you might also be interested in switching from manipulating LWP requests to using WWW::Mechanize, which tries harder to be just like any browser.
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
In reply to Re: why does my as_string fail the second time its used
by Corion
in thread why does my as_string fail the second time its used
by idova
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |