$ perl parser.pl 16/4*2 { '/' => [ '16', { '*' => [ '4', '2' ] } ] } #### my $precedence=[qr/(?:&&|\|\|)/,qr/(?:\+|-)/,qr/(?:\/|\*)/]; #### { '*' => [ { '/' => [ '16', '4' ] }, '2' ] } #### my $precedence=[qr/(?:\/|\*)/,qr/(?:\+|-)/,qr/&&/,qr/|\|\|/];