The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Math::Expression version 1.21
=============================

This module solves the problem of evaluating expressions read from config/...
files without the use of eval. String and arithmetic operators are supported,
as are: conditions, arrays and functions. The name-space is managed (for
security), user provided functions may be specified to set/get variable values.
Error messages may be via a user provided function.
This is not designed for high computation use.

Quick example:

	use strict;
	use Math::Expression;

	my $ArithEnv = new Math::Expression;

	# Some/all of these read from a config file:
	my $tree1 = $ArithEnv->Parse('ConfVar := 42');

	my $tree2 = $ArithEnv->Parse('ConfVar * 3');

	...

	$ArithEnv->Eval($tree1);
	my $ConfValue = $ArithEnv->EvalToScalar($tree2);


For examples of use see the test program in the t/ directory
and some more in Examples/.
POD documentation is in the module.

You install the module by running these commands:

   perl Makefile.PL
   make
   make test
   make install



Please report any bugs/suggestions to Alain Williams <addw@phcomp.co.uk>


It is understood that any contribution that is sent in for distribution
with this module shall have copyright assigned to addw who will release
it under the same licence as the rest of the module. Contributions will
be acknowledged.



You may get a bit more debugging/information from the test scripts by
the use of environment options, so:

Trace:
	TRACE=1 perl -Iblib/lib t/test.t
The TRACE value can be 1 or 2.

Print out the parse tree on error:
	ERR_TREE=1 perl -Iblib/lib t/test.t





COPYRIGHT

      /\
     /  \		(C) Copyright 2003 Parliament Hill Computers Ltd.
     \  /		All rights reserved.
      \/
       .		Author: Alain Williams, January 2003
       .		addw@phcomp.co.uk
        .
          .

	SCCS: @(#)README.in	1.5 02/13/08 13:35:06

This module is free software; you can redistribute it and/or modify
it under the same terms as Perl itself. You must preserve this entire copyright
notice in any use or distribution.
The author makes no warranty what so ever that this code works or is fit
for purpose: you are free to use this code on the understanding that any problems
are your responsibility.

Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is
hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and
this permission notice appear in supporting documentation.


Note that the version number of this README may be different from the version of the module.
The version number at the top of this file should correspond to the version number of the
module at the time that it was bundled into a tar file.