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>


Reply via email to