Infix to RPN

Score: 144.65 (pass)

#!perl -p
s/\s//g;s%(?

Score: 151.69 (pass)

#!perl -p
s/\s//g;s%(?

Score: 154.71 (pass)

Negative lookback is a positive thing here

#!perl -p
s/\s//g;s%(?

Score: 161.70 (pass)

#!perl -pl
s/\s//g;s%((?<=[(*+/-])-|^-)?\d+|.%$_="$& ";s/\( /$s=$_.$s;""/e;s/\) /$s=~s~(.*?)\( ~~;$1/e||s|\D |$a="+-"x/[+-]/;$s=~s~[ */$a]*~$_~;$&|e;$_%eg;$_.=$s;s/ $//

Score: 169.71 (pass)

2 simple optimizations gains me 9 strokes!

#!perl -pl
s/\s//g;s%((?<=[(*+/-])-|^-)?\d+|.%$_="$& ";s/\( /$s=$_.$s;""/e;s/\) /$s=~s~(.*?)\( ~~;$1/e||s|^\D |$a="+-"x/[+-]/;$s=~s~[ */$a]*~~;$s=$_.$s;$&|e;$_%eg;$_.=$s;s/ $//

Score: 178.70 (pass)

More regex'es

#!perl -pl
s/\s//g;s%((?<=[(*+/-])-|^-)?\d+|.%$_="$& ";s/\( /$s=$_.$s;""/e;s/\) /$s=~s~(.*?)\( ~~;$1/e||s|[*+/-] |$a="+-"x/[+-]/;$s=~s~[ */$a]*~~;$s=$_.$s;$&|e;$b.=$_%eg;$_=$b.$s;s/ $//

Score: 187.71 (pass)

That $a did the trick :-)

#!perl -pl
s/\s//g;$_=~s%((?<=[(*+/-])-|^-)?\d+|.%$_="$& ";/\d/?$b.=$_:(/\(/?$s=$_.$s:(/\)/?do{$s=~s/(.*?)\( //;$b.=$1}:do{$a="+-"x/[+-]/;$s=~s/[ *\/$a]*//;$b.=$&;$s=$_.$s}))%eg;$_=$b.$s;s/\s$//

Score: 213.70 (pass)

Aargh. those egative integers... And why took I so long before using google?

#!perl -pl
s/\s//g;$_=~s%((?<=[(*+/-])-|^-)?\d+|.%$_="$& ";/\d/?$b.=$_:(/\(/?$s=$_.$s:(/\)/?do{$s=~s/(.*?)\( //;$b.=$1}:do{/[+-]/?do{$s=~s/[ *\/+-]*//;$b.=$&}:do{$s=~s/[ *\/]*//;$b.=$&};$s=$_.$s}))%eg;$_="$b$s";s/\s$//