http://www.perlmonks.org?node_id=82213


in reply to (Golf) Reversing RPN Notation

Well, I made my better but it is not enough. I am happy to solve a part of this problem. Here my small contribution :
(I use special variable $, $/ and $; to minimize declaration)

sub LTR { # 116 characters my@a;for(@_){if(/\d/){push@a,$_}else{$/=pop@a; $,=join' ',pop@a,$_,$/;$,=~s/(.*)/($1)/ if((/[+-]/);push@a,$,;$;=$ +_}}@a } print LTR qw(1 2 - 3 4 + 5 * /);

My solution don't really minimize brackets :( (but seems to be correct most of the time; more brackets are better than less :))

Another problem is that I don't use %operator because it wasn't really helpful (without last change). So It can't solve Update #2 from Masem (I only see it now).

This problem is very tricky... When should we use brackets or not ???
Congratulation to chipmunk and MeowChow for their contributions.

BobiOne KenoBi ;)