Math-Expression
view release on metacpan or search on metacpan
Expression.pm view on Meta::CPAN
return ($left[-1]) ? ($self->EvalTree($tree->{right}, 0))[-1] : 0;
}
if($tree->{flow} eq 'while') {
my $ret = 0; # Return val, until get something better
if( !$self->{PermitLoops}) {
$self->PrintError("Loops not enabled, set property PermitLoops to do so");
return;
}
while(1) {
if($self->{MaxLoopCount} && ++$self->{LoopCount} > $self->{MaxLoopCount}) {
$self->PrintError("Loop exceeded maximum iterations: MaxLoopCount = $self->{MaxLoopCount}");
return;
}
# left is loop condition, right is body:
my @left = $self->EvalTree($tree->{left}, 0);
return $ret unless($left[-1]);
$ret = ($self->EvalTree($tree->{right}, 0))[-1];
}
return $ret;
}
}
( run in 1.450 second using v1.01-cache-2.11-cpan-71847e10f99 )