develooper Front page | perl.perl5.porters | Postings from May 2008

Re: Should potentially confusing labels emit a warning?

Thread Previous | Thread Next
Rafael Garcia-Suarez
May 15, 2008 01:32
Re: Should potentially confusing labels emit a warning?
Message ID:
2008/5/15 Ed Avis <>:
> 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 Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About