From the first part of your code it looks like you are storing your variables and values in the `%data` hash in the form `$data{"variable name"} = "value"`. In order to work, your formulae have to use those variables and values in the very same format.

I would think it be useful to see a couple of examples.

Update: Here is some basic code to get you started:

`use strict;
use warnings;
my %data = ( x => 5, y => 7, z => 2 );
my @formulae = (
'x + y',
'z + 3',
'x ** z',
'a + x',
'x /= y',
'x - x'
);
for my $formula (@formulae) {
print "Processing formula $formula\n\t";
my @error = ();
while ($formula =~ s|([a-z]+)|$data{$1}//' '|e) {
push @error, $1 unless exists $data{$1};
}
if (@error) {
print "Error: unknown variable(s) @error\n\n";
} else {
my $result = eval($formula);
if( defined $result) {
print "Result: $formula = $result\n\n";
} else {
print "Syntax error in $formula\n\n";
}
}
}
`

Comment onRe: How to evaluate a mathematical formula that is stored in another file?SelectorDownloadCode