My problem is slightly different - though possibly a manifestation of the same thing. I find that param isn't cleaned up between requests.
I have two epl files: set.epl: [- $param[0]->{'test'} = 1 -] get.epl [+ Dumper(@param) +] I find that the data from set.epl turns up when I make a subsequent request for get.epl (in practice it's a bit more random than that if one is running multiple processes, so I make a few requests for set.epl and then a few for get.epl) This only seems to be relevant if I reference param in the epl file I am calling directly. If I reference it in epl files which are loaded in by Execute, then they do appear to get cleaned up. Michael On Tue, Jul 20, 2010 at 10:20 PM, Ed Grimm <ed_gr...@raytheon.com> wrote: > Note that, under Apache, the cleanup code happens at the end of each > request - each of which could have dozens of Execute calls, between which it > is very definitely NOT called. > > I have not used Embperl much from within server scripts, but in my limited > use there, I've never seen the cleanup code fire. I suspect each script is > considered 'a request' for the purposes of the cleanup code (well, as far as > docs are concerned. I don't know if the code actually fires on END.) > > -- > Ed Grimm > Identity Services > > > From: Michael Stevens <michael.stev...@dianomi.com> To: > embperl@perl.apache.org Cc: Michael Smith <michael.sm...@dianomi.com>, > cabell.demarcel...@dianomi.com Date: 07/20/2010 10:12 AM Subject: @param > seems to be shared between Execute calls > ------------------------------ > > > > Hi. > > We're seeing an odd bug where @param seems to be shared between Execute > calls in the same process. The following code is a test case for this: > > #!/usr/bin/perl -w > > use strict; > use Embperl; > > my $output1; > > my $input = '[- $param[0]->{hello} = 42; -]'; > > Embperl::Execute({ > inputfile => "blah", > input => \$input, > output => \$output1, > }); > > my $output2; > my $input2 = '[- use Data::Dumper; print Dumper(\...@param); -]'; > > Embperl::Execute({ > inputfile => "blah", > input => \$input2, > output => \$output2 > }); > > Which on my machine outputs: > > $VAR1 = [ > { > 'hello' => 42 > } > ]; > > Surely this shouldn't happen? > > -- > Michael Stevens > Dianomi Ltd > 18 Buckingham Gate > London SW1E 6LB > > Tel: 020 7802 5530 > Fax: 020 7630 7356 > www.dianomi.com > > The information in this message and any attachment is intended for the > addressee and is confidential and may be subject to legal privilege. > Dianomi Ltd, Registered Office: One America Square, Crosswall, London. > EC3N 2SG. Registered in England and Wales with Company Registration > Number 4513809. VAT registration number: 809754988 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: embperl-unsubscr...@perl.apache.org > For additional commands, e-mail: embperl-h...@perl.apache.org > > >