in reply to Odd LWP::Simple problem, unintentional redirect

You had a "head" conflict between LWP::Simple and CGI. From the documentation:

Note that if you are using both LWP::Simple and the very popular CGI.pm module, you may be importing a head function from each module, producing a warning like:

"Prototype mismatch: sub main::head ($) vs none"
Get around this problem by just not importing LWP::Simple's head function, like so:

use LWP::Simple qw(!head); use CGI qw(:standard); # then only CGI.pm defines a head
Then if you do need LWP::Simple's head function, you can just call it as:
LWP::Simple::head($url)
I ran your script like this:
#!/usr/bin/perl use strict; use warnings; use LWP::Simple qw(!head); use CGI qw/:standard/; use CGI::Carp qw(fatalsToBrowser); head(); print header, start_html("test"); my $url = 'http://www.perlmonks.net'; my $geturl = url_param('geturl'); my $commentid; if ( defined( $_ = $geturl ) ) { &get_url; } else { &get_site; &print_form; } sub get_url { print qq(<form name="geturl" name="geturl" method="get" action="wp +.pl">); print qq(URL: <input type="text" name="geturl">); print qq(<input type="submit" name="submiturl"></form>); } sub print_form { print "test 1"; } sub get_site { my $content = get($geturl); print "test\n"; }

Replies are listed 'Best First'.
Re^2: Odd LWP::Simple problem, unintentional redirect
by Anonymous Monk on Aug 31, 2011 at 08:25 UTC

    You had a "head" conflict between LWP::Simple and CGI. From the documentation:

    And where, pray tell, does the OP use head in his code?