--- loncom/xml/run.pm 2000/06/28 19:52:20 1.2 +++ loncom/xml/run.pm 2000/06/29 13:58:23 1.3 @@ -2,11 +2,17 @@ package Apache::run; sub evaluate { my ($expression,$safeeval) = @_; - return $safeeval->reval($expression); +# print "inside2 evaluate with $expression\n"; +# gerd's old method interpolates unset vars +# $safeeval->reval('return qq('.$expression.');'); + $safeeval->reval('$_=\''.$expression.'\';'); + $safeeval->reval('$_=~s/(\$\{?[A-Za-z]\w*\}?)/(defined(eval($1))?eval($1):$1)/ge;'); + $safeeval->reval('return $_;'); } sub run { my ($code,$safeeval) = @_; +# print "inside run\n"; $safeeval->reval($code); }