From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

use strict;
BEGIN { plan tests => 9 }
my $m = new Math::Expression::Evaluator;
sub o {
return $m->parse(shift)->optimize->val();
}
sub e {
return $m->parse(shift)->val();
}
sub c {
return &{$m->parse(shift)->compiled}();
}
my @tests = (
['1 2', 2, 'space delimited expressions'],
['1; 2', 2, 'colon delimited expressions'],
['(1+2) (3-8)', -5, 'space delimited expressions 2'],
);
for (@tests){
is e($_->[0]), $_->[1], $_->[2];
is o($_->[0]), $_->[1], $_->[2] . ' (optimized)';
is c($_->[0]), $_->[1], $_->[2] . ' (compiled)';
}
# vim: expandtab