foreach my $i (0 .. $#tokens) { my $token = $tokens[$i]; $nested += $token->[1] if 'PAREN' eq $token->[0]; print $token->[1], $/ if 'FROM' eq uc $tokens[$i - 1][1] && 'TEXT' eq $tokens[$i][0]; print $token->[1], $/ if 'JOIN' eq uc $tokens[$i - 1][1] && 'TEXT' eq $tokens[$i][0]; print $token->[1], $/ if $nested = 0 && 'COMMA' eq $tokens[$i - 1][0]; }