The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Language::Expr::Interpreter::Default - A default interpreter for Language::Expr

VERSION

version 0.19

SYNOPSIS

 use Language::Expr::Interpreter::Default;
 my $itp = Language::Expr::Interpreter::Default->new;
 $itp->vars->{a} = 'A';
 say $itp->eval(q["$a b" . "c"]); # "A b c"

DESCRIPTION

Interprets Language::Expr expression. Some notes:

  • Uses boolean module.

    Comparison like '1 > 1' and '

  • Follows Perl's notion of true and false.

    That is, this expression ' "" || "0" || 2 ' will result to 2 because Perl thinks "" and "0" are false.

ATTRIBUTES

vars => {NAME => VAL, ...}

Store variables.

funcs => {NAME => CODEREF, ...}

List known functions.

level => INT

Current recursion level.

METHODS

BUGS/TODOS

Currently subexpression (map/grep/usort) doesn't work yet.

AUTHOR

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Steven Haryanto.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.