Stas,

Replies below:
--
   Steve Bannerman
   [EMAIL PROTECTED]
   44.(0)1865.273866


> -----Original Message-----
> From: Stas Bekman [mailto:[EMAIL PROTECTED]
> Sent: 05 August 2003 18:07
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
> Subject: Re: HTTP POST: parameters "empty" when using ModPerl::Registry
> (okay when using ModPerl:PerlRun)...
>
>
> > ...snip...
> >
>
> The docs need work, this is just a copy of mp1 registry docs, which need
> adjustments. However most things work the same way. The
> differences between
> Registry and PerlRun are easily summarizes with this diff:
>
> ModPerl-Registry> diff -u lib/ModPerl/Registry.pm lib/ModPerl/PerlRun.pm
> --- lib/ModPerl/Registry.pm     2003-03-22 20:52:24.000000000 -0800
> +++ lib/ModPerl/PerlRun.pm      2003-03-22 20:52:24.000000000 -0800
> @@ -1,4 +1,4 @@
> -package ModPerl::Registry;
> +package ModPerl::PerlRun;
>
>   use strict;
>   use warnings FATAL => 'all';
> @@ -30,11 +30,11 @@
>       make_namespace  => 'make_namespace',
>       namespace_root  => 'namespace_root',
>       namespace_from  => 'namespace_from_filename',
> -    is_cached       => 'is_cached',
> -    should_compile  => 'should_compile_if_modified',
> -    flush_namespace => 'NOP',
> +    is_cached       => 'FALSE',
> +    should_compile  => 'TRUE',
> +    flush_namespace => 'flush_namespace_normal',
>       cache_table     => 'cache_table_common',
> -    cache_it        => 'cache_it',
> +    cache_it        => 'NOP',
>       read_script     => 'read_script',
>       rewrite_shebang => 'rewrite_shebang',
>       set_script_name => 'set_script_name',
> @@ -53,17 +53,10 @@
>
> PerlRun doesn't cache the script on each request and it flushes
> the script's
> namespace on each request. You can see the actual functions in
> lib/ModPerl/RegistryCooker.pm.

Thanks, that's helpful...it shows me why PerlRun works.

However, it doesn't really explain why the "root problem" exists.  The way I
think about it, the creation of a new CGI "object" should create a new "set
of slots" for instance data.  Then, each request's parameters would be
stored in a "slot" of the new CGI instance rather than in the "global set of
slots" for the class of CGI instances.

Maybe I don't understand the "object paradigm" in perl correctly; however, I
do understand it very well in general.  Thus, it seems like a defect in
either perl (the language) or CGI.pm.  I'm guessing there's some
justification for it in "performance"...however, it just doesn't seem right.

Thoughts?

 If you can try to take it from
> here and see
> what the problem is (your code/registry?), that would be cool. Thanks.
>

Unfortunately, I don't really know how to "take it from here."  I'm pretty
new to perl and very new to mod_perl.  Thus I'm "reaching out" to you guys
to find out if anybody has solved this problem...unfortunately,
Christopher's suggestion didn't work (unless I implemented it incorrectly).

> Also make sure you are using the latest CGI.pm (2.93 or higher is good).

I'm using CGI.pm-2.98.

Cheers

>
> __________________________________________________________________
> Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
> http://stason.org/     mod_perl Guide ---> http://perl.apache.org
> mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
> http://modperlbook.org http://apache.org   http://ticketmaster.com
>

Reply via email to