#!/usr/local/bin/perl $a = "@ARGV"; $a =~ s/[^*.+\-0-9&|\)\(x\/\^]//g; # Unnecessary escapes are for my syntax hilighter. # Please don't nag about them :) $a =~ s/\*\*/^/g; $a =~ s/([*+.\/x-])\1*/$1/g; $a =~ s/\^/**/g; eval("print($a)"); print "\n";