Mmmh, that looks like you hit a bug :-( 

The quick workaround would be to do the fdat => \%fdat for every Execute.

The correct solution is to fix the bug, but I cannot not promise when I will 
find time to do so, because this looks like some more work...

Gerald


> -----Original Message-----
> From: Matt J Cwanek [mailto:mcwa...@fourddev.com]
> Sent: Wednesday, January 12, 2011 3:44 PM
> To: Gerald Richter - ECOS
> Cc: embperl@perl.apache.org
> Subject: Re: Handler example?
> 
> Yes, we're already doing that.
> 
> The problem is if I do that from inside my handler, then if the requested page
> being Execute()'d does it's own calls to Execute() to include (say) a header
> and footer, the fdat inside the header/footer pages (nested Execute()) have
> an empty fdat, and it's address is different from the fdat I passed to the 
> initial
> Execute().
> 
> For example:
> 
> -> request for index.html
> 
> -> my handler builds fdat and then calls:
> Embperl::Execute(
> { input => \src,
>   inputfile => $filename,
>   fdat => \%fdat,
>   output => \$body,
>   options => 256
>   });
> 
> where $src is the contents of index.html with some other perl code added
> (which is the reason for the handler).
> 
> -> index.html contains calls to Execute() to include header.html,
> footer.html, etc.
> 
> -> if I dump out %fdat in index.html (or even in my handler), it has the
> correct contents (and same memory address)
> 
> -> if I dump out %fdat in header.html/footer.html, it is empty and has
> a different memory address than %fdat in index.html
> 
> 
> I tried replacing Embperl::Execute() in my handler with
> Embperl::Req::ExecuteRequest( undef, { <same options as above> } ), like
> Embperl.pm does in it's handler, but that didn't change anything.
> 
> 
> Thanks,
> Matt
> 
> 
> 
> 
> On 01/12/11 05:30 +0100, rich...@ecos.de wrote:
> > Hi,
> >
> > you should pass your %fdat as hashref to the outermost Execute call with
> the parameter fdat.
> >
> > That should normaly do the trick
> >
> > Gerald
> >
> >
> > > -----Original Message-----
> > > From: Matt J Cwanek [mailto:mcwa...@fourddev.com]
> > > Sent: Friday, January 07, 2011 9:13 PM
> > > To: embperl@perl.apache.org
> > > Subject: Handler example?
> > >
> > > Hello:
> > >
> > > Is there an example somewhere of using a custom handler that
> > > eventually calls Embperl to process the page? I'm working from some
> > > old code that used HTML::Embperl to do this, and am having trouble
> > > getting fdat to work properly with my handler under Embperl/MP2.
> > >
> > > The HTML::Embperl handler that I'm working from (and that works fine
> > > with
> > > HTML::Embperl) would take care of creating fdat on it's own using
> > > CGI, and eventually would call HTML::Embperl::Execute to process the
> > > page (optDisableFormData was enabled).
> > >
> > > As I try to port this forward to Embperl/MP2, I'm having problems
> > > with fdat being clobbered later by subsequent nested
> > > Embperl::Execute calls, which wasn't a problem with
> > > HTML::Embperl/MP1. It's almost like a scope problem, but it only seems
> to shows up if I have nested Execute calls.
> > >
> > >
> > > Thanks for any help.
> > >
> > > Matt
> > >
> > >
> > > --------------------------------------------------------------------
> > > - To unsubscribe, e-mail: embperl-unsubscr...@perl.apache.org
> > > For additional commands, e-mail: embperl-h...@perl.apache.org
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: embperl-unsubscr...@perl.apache.org
> > For additional commands, e-mail: embperl-h...@perl.apache.org
> >


---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-unsubscr...@perl.apache.org
For additional commands, e-mail: embperl-h...@perl.apache.org

Reply via email to