Actually, you don't have to parse the rest of the do block to figure out what is going on. Once you see ";\ndo {\n" you know (from the ";" and newlines) that it isn't a (sensible) conversion of a block to an expression and (from the "{") that it isn't "do file".I do not quite agree with that. You do know the expression modifiers, don't you? EXPR if EXPR and EXPR for EXPR etc are quite common in Perl. Every now and then you want to do two or more things in the first expression. EXPR, EXPR if EXPR sometimes works, but sometimes it won't. So you use do {EXPR; EXPR} if EXPR. That do is followed by a '{' and typically preceeded by a ";\n". And hopefully you aren't giving special meaning to the newline. ;-)
-- Abigail
In reply to Re: crafting a decent CLI
by Abigail
in thread crafting a decent CLI
by PetaMem
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |