Sorry the syntax error was by mistake. It's not in the actual code. Rajesh
> -----Original Message----- > From: david [mailto:[EMAIL PROTECTED] > Sent: Wednesday, February 18, 2004 4:01 PM > To: [EMAIL PROTECTED] > Subject: Re: Problem with LWP::UserAgent > > > Rajesh Dorairajan wrote: > > > I've had this problem for a long time and I am in a sort of > a dead-end and > > could use some help. When I make a get request using the > LWP UserAgent > > inside a function and I pass a URL to the function as a > string I get a > > response. However, when I pass a variable that contains the > URL (typically > > a hash value) I get a return code of 501. I'm just not able > to figure out > > why. I'm giving the example code of the working code and > Non-working code. > > Any help will be deeply appreciated. > > > > Thanks in advance. > > > > ----------------------- > > #Working code > > > > #!/usr/bin/perl > > use strict; > > use LWP::UserAgent; > > my $url = "http://rajeshd"; > > > > print_page ( $url ); > > > > sub print_page{ > > > > my($host,$port) = @_; > > > > my $url = $host; > > > > $url .= ":$port" if($port); > > > > my $ua = LWP::UserAgent->new(env_proxy => 0, > > keep_alive => 0, > > timeout => 30); > > > > my $r = $ua->request(HTTP::Request->new(GET => $url)); > > > > print $r->content if($r->is_success); > > print $r->code,': ',$r->status_line unless($r->is_success); > > print "\n"; > > } > > ----------------------- > > #Failing code > > > > #!/usr/bin/perl > > use strict; > > use LWP::UserAgent; > > use XML::Simple; > > > > my $config = XMLin( "C:/config.xml", VarAttr => 'name', > > ContentKey => '-content' ); > > > > my $url = $config->={URL_1}; #$config->{URL_1} equals http://rajeshd at > run-time > > print_page ( $url ); > > sub print_page{ > > my($host,$port) = @_; > > my $url = $host; > > $url .= ":$port" if($port); > > my $ua = LWP::UserAgent->new(env_proxy => 0, > keep_alive => 0, > timeout => 30); > > my $r = $ua->request(HTTP::Request->new(GET => $url)); > > print $r->content if($r->is_success); > print $r->code,': ',$r->status_line unless($r->is_success); > print "\n"; > } http 1.1 define 501 as not implemented. your working version and failing version is absolutely the same except the source of $url in which the working version hard codes it while the failing version gets it from the $config hash reference returned the XMLin function. you extract $url from $config with: my $url = $config->={URL_1}; which is a syntax error: [panda]# perl -e '$c->={hi}' syntax error at -e line 1, near "->=" Execution of -e aborted due to compilation errors. [panda]# david -- sub'_{print"@_ ";* \ = * __ ,\ & \} sub'__{print"@_ ";* \ = * ___ ,\ & \} sub'___{print"@_ ";* \ = * ____ ,\ & \} sub'____{print"@_,\n"}&{_+Just}(another)->(Perl)->(Hacker) -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>