A few more questions please. Am I passing the paramters in the anchor
examples I presented earlier as I should using PerlRun or mod_perl? Should
I be able to see the correct passed parameters when I pull them across to
the module invoked by the anchor prior to entering a sub in that module (my
$page = new CGI;$params = $page->param("str");)? If a subroutine needs many
parameters, how would you recommend they be passed? After simply installing
mod_perl, am I using the Apache embedded Perl interpreter or do I have to
make the transition to PerlRun or mod_perl for this to occur?
CraigT
Michael Peters wrote:
>
> CraigT wrote:
>> Perrin,
>>
>> Is what I'm hearing you say is that in the PerlRun environment (and I'm
>> guessing the mod_perl environment too), anything that a subroutine uses
>> coming from outside that code must be passed as a parameter like
>> '&sub($paramter)'. Am I correct in this.
>
> Yes and no. The key to understanding this under mod_perl is that global
> variables and packaged scoped variables do not get reinitialized for each
> request like they do under normal CGI.
>
> So if you are using a global var that should retain state between
> requests, then
> no you don't need to pass it to each subroutine. But if you're not, then
> yes you do.
>
> And btw, you don't need the '&' in front of the the sub.
>
> sub($paramter)
>
> is the proper way to do it.
>
>> Associating the words scope and closure helped. I know scope well
>> although
>> different languages implement the idea differently. I had not heard the
>> word closure before or had not understood it as scope.
>
> While related, they aren't the same thing. A closure is a function that
> "remembers" it's lexical environment when compiled. So it can reference
> things
> that were declared in the same scope as it self.
>
> http://en.wikipedia.org/wiki/Closure_%28computer_science%29
> and in Perl
> http://www.perl.com/pub/a/2002/05/29/closure.html
>
> Depending on the other languages you know, you might never have
> encountered a
> closure before since they don't exist in languages like C, C++ or Java.
>
> --
> Michael Peters
> Developer
> Plus Three, LP
>
>
>
--
View this message in context:
http://www.nabble.com/passing-CGI-paramters-tf4008753.html#a11465053
Sent from the mod_perl - General mailing list archive at Nabble.com.