use Regexp::Common #### $term=~s/(\d+)@($RE{balanced}{-parens=>'[]'})/rpt($1,$2)/eg; #### $term=~s/(\d+)([\*\/])(\d+)/int(eval("$1$2$3"))/eg; #### $term=~s/(\d+)([+-])(\d+)/eval("$1$2$3")/eg;
## $term=~s/(\d+)@($RE{balanced}{-parens=>'[]'})/rpt($1,$2)/eg; ##
## $term=~s/(\d+)([\*\/])(\d+)/int(eval("$1$2$3"))/eg; ##
## $term=~s/(\d+)([+-])(\d+)/eval("$1$2$3")/eg;