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?

Reply via email to