Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: CGI::Application and $self->param() wierdness

by dragonchild (Archbishop)
on Jul 08, 2004 at 12:58 UTC ( [id://372777]=note: print w/replies, xml ) Need Help??


in reply to CGI::Application and $self->param() wierdness

You're using global variables. This is stupid. If you want to use the 'var1' parameter in the my_page() function, grab it there. If you want to use it in the setup() function, grab it there. If you want to use it in both places, grab it in both places. This smacks to me of premature optimization.

------
We are the carpenters and bricklayers of the Information Age.

Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

I shouldn't have to say this, but any code, unless otherwise stated, is untested

  • Comment on Re: CGI::Application and $self->param() wierdness

Replies are listed 'Best First'.
Re^2: CGI::Application and $self->param() wierdness
by Anonymous Monk on Jul 08, 2004 at 15:25 UTC
    While I appreciate your concern, I thought it was pretty clear that the example I gave was contrived for debugging purposes and to illustrate the problem as clearly/simply as possible.

    Yes, my actual application will only grab it where I need to use it. I was just concerned that I couldn't grab the value in the setup() method.

    For the sake of completeness (of the contrived example, not my real code), the following is the altered WebApp.cgi:

    #!/usr/local/bin/perl use WebApp; my $webapp = WebApp->new( PARAMS => { 'var1' => 'val1', 'var2' => 'val2', }, ); $webapp->run;
    I'm not recommending that people use global variables this way in production code.
      To address this issue, the reason it didn't work is because setup() is called from new(). So, your param() calls initially were after the call to new(), so they weren't executed prior to setup() being called. That's the correct solution to the problem.

      ------
      We are the carpenters and bricklayers of the Information Age.

      Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose

      I shouldn't have to say this, but any code, unless otherwise stated, is untested

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2024-04-19 16:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found