Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: Question regarding perl subroutine

by sureshsmr (Initiate)
on Jul 15, 2012 at 21:07 UTC ( #981926=note: print w/ replies, xml ) Need Help??


in reply to Re: Question regarding perl subroutine
in thread Question regarding perl subroutine

Hi John Davies, Thanks a lot! That was good catch. Now I am getting a different error as below:

/usr/local/bin/perl PtfSapGetSyncStg.pl Can't call method "agent" on an undefined value at PtfSapGetSyncStg.pl + line 158.

Here is the code on line 158:

my $ua->agent("Mozilla/5.0"); #my $ua->agent("");

is the syntax for calling "agent" method ok? I am not sure what tool is on our unix server. Any suggestions ? Thanks Suresh


Comment on Re^2: Question regarding perl subroutine
Select or Download Code
Re^3: Question regarding perl subroutine
by afoken (Parson) on Jul 15, 2012 at 21:11 UTC

    $ua is not what you think. It is undefined, probably because the code above lacks error checks. See Basic debugging checklist.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
Re^3: Question regarding perl subroutine
by monsoon (Pilgrim) on Jul 15, 2012 at 21:18 UTC
Re^3: Question regarding perl subroutine
by davies (Vicar) on Jul 15, 2012 at 21:28 UTC

    No, that syntax cannot be right. Looking at the code you posted originally, I see:

    my $ua= new LWP::UserAgent; #my $ua->agent("Mozilla/5.0"); my $ua->agent("");

    You seem to be trying to use strict;, which is good (see my home node), but without understanding what it does. PerlIntro (http://perldoc.perl.org/perlintro.html#Variable-scoping) has a section on variable scoping that it might help you to understand. my creates a new instance of a variable. You may have seen examples of messages telling you that a declaration masks a previous declaration. This is telling you that you have re-initialised a variable name, which is unlikely to be what you want. I think what you want is something like:

    my $ua= new LWP::UserAgent; $ua->agent("Mozilla/5.0");

    but as I don't even know what LWP is, this is a pretty wild guess. http://search.cpan.org/~gaas/libwww-perl-6.04/lib/LWP/UserAgent.pm might be another good read.

    Regards,

    John Davies

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://981926]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2014-09-23 05:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (210 votes), past polls