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

Re: Should potentially confusing labels emit a warning?

Thread Previous | Thread Next
From:
Rafael Garcia-Suarez
Date:
May 15, 2008 01:32
Subject:
Re: Should potentially confusing labels emit a warning?
Message ID:
b77c1dce0805150132u2c5d903if301708ce66011a8@mail.gmail.com
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


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About