2008/5/15 Ed Avis <eda@waniasset.com>: > Indeed, why just a warning? Surely using a language keyword as a label should > be disallowed altogether. At the moment the behaviour is a bit bizarre: > > print: { say 'hello' } > goto print; > > fails with 'Can't find label 1', as if this were a computed goto using the > return value of evaluating print, but on the other hand if you try to make such > a computed goto using your own function: > > sub f { return 1 } > goto f; > > you get 'Can't find label f', showing that it's treated as a literal word and > not evaluated. > > IMHO, this semantic muddle is best resolved by forbidding builtin keywords as > labels. That's a good point. I was merely opposed to a new warning, but some more bondage on that very syntax point seems sensible.Thread Previous | Thread Next