1: package Apache::run;
2:
3: sub evaluate {
4: my ($expression,$safeeval,$decls) = @_;
5: # print "inside2 evaluate with $expression\n";
6: # gerd's old method interpolates unset vars
7: # $safeeval->reval('return qq('.$expression.');');
8: unless (defined $expression) { return ''; }
9: $safeeval->reval('$_=\''.$expression.'\';');
10: $safeeval->reval('{'.$decls.'$_=~s/(\$\{?[A-Za-z]\w*\}?)/(defined(eval($1))?eval($1):$1)/ge;}');
11: $safeeval->reval('return $_;');
12: }
13:
14: sub run {
15: my ($code,$safeeval) = @_;
16: # print "inside run\n";
17: $safeeval->reval($code);
18: }
19:
20: 1;
21: __END__;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>