#!perl -lp
$p=qr'(([^() ]|\(( |(??{$p}))*\))+)';s/\s//g;s//$1 $3 $2/while/(.*)([*\/])$p/|/(.*[\d)])([-+])$p/;y/()//d
|
#!perl -lp
$p=qr'-?\d+|\(([^()]|(??{$p}))*\)';s/\s//g;s// $2 $1/while/([*\/])($p)/|/(?<=[-+\d)])([-+])($p([*\/]$p)*)/;y/()//d
|
#!perl -lp
$p=qr'-?\d+|\(([^()]|(??{$p}))*\)';y/ \t//d;1while s/([-+\d)])([-+])($p([*\/]$p)*)/$1 $3 $2/||s/([*\/])($p)/ $2 $1/;y/()//d;
|