Arnaud Blancher wrote:
[...]
try:

  {
    no strict 'refs';
    &$func();
  }

yes, it's work.
i'don't realy like this solution, just because i always try to use 'use strict'
to avoid problem with mod_perl !!!!

But in this case, it disables strict refs only for a very small scope! It doesn't affect anything else, so you perfectly fine.


so, could you tell me if the final mp2, will have a solution for exit in eval function ?
in this case i'll wait and keep my complete 'use strict'
in the other case .. may be i will change all my script, and lost a part of 'strict'.

I have a working solution (haven't committed yet), but I'm not 100% sure yet that it's going to stay, I have received no feedback so far on this proposal [1].


At the moment looks like:

use ModPerl::Const -compile => 'EXIT';

eval {
     my $whatever = 1;
     exit();
};
exit if $@ && ref $@ && $@ == ModPerl::EXIT;

The same will work for eval $string.

What happens here is that exit calls die with an exception object, which you can observe outside the eval block (the numerical context of $@ will return ModPerl::EXIT value) and rethrow exit (or do return or else) to cleanly quit the handler w/o killing the process.

If you wish, you can get the current cvs, apply my patch [1] and try the thing. You can see t/response/TestModperl/exit.pm which exercises this functionality.

[1] http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=108354831109582&w=2

__________________________________________________________________
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

--
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html



Reply via email to