File:  [LON-CAPA] / loncom / xml / run.pm
Revision 1.3: download - view: text, annotated - select for diffs
Thu Jun 29 13:58:23 2000 UTC (23 years, 10 months ago) by albertel
Branches: MAIN
CVS tags: HEAD
- evaluate now works as expected
- lonxml hands evaluates properly in start tags

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

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>