version 1.12, 2000/11/16 14:20:05
|
version 1.13, 2000/11/20 17:34:05
|
Line 27 $Apache::run::EVALUATE_STRING=<<'ENDEVAL
|
Line 27 $Apache::run::EVALUATE_STRING=<<'ENDEVAL
|
my %oldexpressions=(); |
my %oldexpressions=(); |
while (!$oldexpressions{$_}) { |
while (!$oldexpressions{$_}) { |
$oldexpressions{$_}=1; |
$oldexpressions{$_}=1; |
$_ =~s/((?:\$|\&)(?:[\#|\$]*[A-Za-z][\w]*|\{[A-Za-z][\w]*\}))([\[|\{][\w\'\"]+[\]\}])*?(\([\w\'\"]+\))*?(?=[^\[\{\(]|$)/eval(defined(eval($1.$2))?eval('$1.$2.$3'):'$1.$2.$3')/seg; |
$_ =~s/((?:\$|\&)(?:[\#|\$]*[A-Za-z][\w]*|\{[A-Za-z][\w]*\}))([\[\{][^\$\&\]\}]+[\]\}])*?(\([^\$\&\)]+\))*?(?=[^\[\{\(]|$)/eval(defined(eval($1.$2))?eval('$1.$2.$3'):'$1.$2.$3')/seg; |
} |
} |
ENDEVALUATE |
ENDEVALUATE |
|
|
Line 42 sub evaluate {
|
Line 42 sub evaluate {
|
# $safeeval->reval('{'.$decls.';<< &evaluate(q|'.$expression.'|);}'); |
# $safeeval->reval('{'.$decls.';<< &evaluate(q|'.$expression.'|);}'); |
if ($@ eq '') { |
if ($@ eq '') { |
$result = $safeeval->reval('return $_;'); |
$result = $safeeval->reval('return $_;'); |
chop $result; |
chomp $result; |
} else { |
} else { |
&Apache::lonxml::error("substitution on:$expression:with:$decls:caused $@"); |
&Apache::lonxml::error("substitution on:$expression:with:$decls:caused $@"); |
} |
} |