#!/usr/bin/perl use strict; use warnings; my %cTestH = (); my $dbFile = 'COUNTYDATABASE'; my $timeRng = 'DATERANGE'; my $regionName = 'DISTRICTNAME'; my $A = 'A'; my $B = 'B'; my $C = 'C'; $cTestH{$dbFile}{$timeRng}{$regionName}{$A} = 1; $cTestH{$dbFile}{$timeRng}{$regionName}{$B} = 0; $cTestH{$dbFile}{$timeRng}{$regionName}{$C} = 0; my $bool = 'A&!B&!C'; $bool =~ s/([a-zA-Z]\w*)/\$cTestH\{\$dbFile\}\{\$timeRng\}\{\$regionName\}\{\$1\}/g; print "Evaluating Test Condition: ",$bool,'...',"\n"; print "Result is: ", eval($bool),"\n";