- $raw->[$i] =~ /^(.)(.*)/;
- if (!defined($syntax->{$1}) && !defined($syntax->{''})) { return $i; }
- if (ref $syntax->{$1} eq "ARRAY") {
+ $raw->[$i] =~ /^([^(]|\(.)(.*)/;
+ if ($1 eq ")") {
+ return $i;
+ } elsif (!defined($syntax->{$1})) {
+ $cooked->{$1} = $2 if !defined($cooked->{$1});
+ $i++;
+ } elsif (ref $syntax->{$1} eq "ARRAY") {