#!/usr/bin/perl $code = 'if($a>$b){'; $code .= '$result = 1;}'; $a =1; $b = 0; $result =0; eval $code; print $@ if ($@); print $result; #### #!/usr/bin/perl $code = 'if($port_a $cmp_op $port_b){$result=1;}'; $code .= 'else{$result=0;}'; $port_a =7777; $port_b = 6666; $cmp_op = ">"; eval $code; print $@ if($@); print $result; $perl eval Scalar found where operator expected at (eval 1) line 1, near "$port_a $cmp_op" (Missing operator before $cmp_op?)