Dave Mitchell wrote:
> 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.....

Ooh, an undocumented and untested feature.

Reply via email to