On Tue, Oct 04, 2005 at 10:14:21AM +0200, Rafael Garcia-Suarez wrote:
> Here's a shortest example of what has changed :
>
> $ perl5.8.7 -wle 'print defined %foo::'
>
> $ bleadperl -wle 'print defined %foo::'
> 1
>
> I don't really know why.
> Anyway, isn't the use of defined with hashes and arrays discouraged ?
Yes, and for lexical hashes you get a compile-time warning:
$ perl -wce 'my %foo; print defined %foo'
defined(%hash) is deprecated at -e line 1.
(Maybe you should just omit the defined()?)
although interestingly in Perl_ck_defined where it emits those warnings,
it has:
case OP_RV2HV:
/* This is needed for
if (defined %stash::)
to work. Do not break Tk.
*/
break; /* Globals via GV can be undef */
Sounds like we've broken Tk.....
--
In the 70's we wore flares because we didn't know any better.
What possible excuse does the current generation have?