You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a statement consists of a word plus a block and is supposed to end implicitly after the block, the statement instead keeps picking up tokens until it encounters an explicit statement end. E.g.:
The DESTROY+block statement is supposed to end when the block ends, but it it doesn't actually end until it sees the ';' after sub foo. If we change the initial statement to be something other than word+block, the DESTROY statement ends properly and foo is recognized as a sub:
This word+block pattern occurs for the special subs AUTOLOAD and DESTROY if you omit their optional 'sub'. Those two cases will no longer be an issue when #39 is applied for #31 .
do+block doesn't have the problem because it does not end implicitly. It's followed by 'until' or ';' or an expression.
'sub {} sub foo{}' fits the word+block+implicit end pattern, but it doesn't compile.
Are there any other naturally-occurring instances of word+block+implicit statement end?
The text was updated successfully, but these errors were encountered:
When a statement consists of a word plus a block and is supposed to end implicitly after the block, the statement instead keeps picking up tokens until it encounters an explicit statement end. E.g.:
The DESTROY+block statement is supposed to end when the block ends, but it it doesn't actually end until it sees the ';' after sub foo. If we change the initial statement to be something other than word+block, the DESTROY statement ends properly and foo is recognized as a sub:
This word+block pattern occurs for the special subs AUTOLOAD and DESTROY if you omit their optional 'sub'. Those two cases will no longer be an issue when #39 is applied for #31 .
do+block doesn't have the problem because it does not end implicitly. It's followed by 'until' or ';' or an expression.
'sub {} sub foo{}' fits the word+block+implicit end pattern, but it doesn't compile.
Are there any other naturally-occurring instances of word+block+implicit statement end?
The text was updated successfully, but these errors were encountered: