Comment on A nice, little known C feature: Static array indices in parameter declarationsparentComments−drivers9913yI did not know that. Interesting. However, it only works if you call the sub without parentheses like this: &fooCalling it with parentheses like &foo() would make @_ empty inside of foo. (Or if you said &foo("whatever") it would pass that as @_ instead.) sub while { print "@_\n"; &foo(); } sub foo { print "@_\n"; } &while("a","b","c"); produces: a b c (blank line) as the output, and sub while { print "@_\n"; &foo; } sub foo { print "@_\n"; } &while("a","b","c"); produces: a b c a b c as the output. At any rate, back to the original topic: it still doesn't prevent new keywords from potentially colliding. Oh well.
Comments
I did not know that. Interesting. However, it only works if you call the sub without parentheses like this: &foo
Calling it with parentheses like &foo() would make @_ empty inside of foo. (Or if you said &foo("whatever") it would pass that as @_ instead.)
produces: as the output, and produces: as the output. At any rate, back to the original topic: it still doesn't prevent new keywords from potentially colliding. Oh well.