Your message dated Wed, 27 Jan 2010 11:19:46 +0200
with message-id <[email protected]>
and subject line Re: Bug#201539: perl -w does not warn about use of 
defined(@array)
has caused the Debian Bug report #201539,
regarding defined(@array) warning isn't triggered for globals
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
201539: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=201539
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: perl
Version: 5.8.0-18
Severity: normal
Tags: upstream

Perl should warn about the deprecated usage of this:

@i=();
if(defined(@i)) {
        print "foo\n";
}

The usage of "defined(@i)" is deprecated and in its current form
unintuitive. Perl should omit a warning message similar to "usage of
defined(@array) is deprecated and may not do what you expect -- see
\"perldoc -f defined\" for details."

-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux pc-debian 2.4.21-1-k7 #2 Mon Jun 16 22:23:16 EST 2003 i686
Locale: LANG=C, LC_CTYPE=C

Versions of packages perl depends on:
ii  libc6                         2.3.1-17   GNU C Library: Shared libraries an
ii  libdb4.0                      4.0.14-1.2 Berkeley v4.0 Database Libraries [
ii  libgdbm3                      1.8.3-1    GNU dbm database routines (runtime
ii  perl-base                     5.8.0-18   The Pathologically Eclectic Rubbis
ii  perl-modules                  5.8.0-18   Core Perl modules.

-- no debconf information



--- End Message ---
--- Begin Message ---
On Mon, Apr 21, 2008 at 12:41:36PM +0300, Niko Tyni wrote:
> On Wed, Jul 16, 2003 at 12:31:34PM +0200, Roland Illig wrote:
> > Package: perl
> > Version: 5.8.0-18
> > Severity: normal
> > Tags: upstream
> > 
> > Perl should warn about the deprecated usage of this:
> > 
> > @i=();
> > if(defined(@i)) {
> >     print "foo\n";
> > }
> 
> It does (and always did) for lexicals:

> Apparently the same isn't true for global variables for some reason.

Further digging shows this is intentional behaviour, see

 http://www.gossamer-threads.com/lists/perl/porters/214040

 /* This is needed for
 if (defined %stash::)
 to work. Do not break Tk.
 */ 

I'm closing the bug.
-- 
Niko Tyni   [email protected]


--- End Message ---

Reply via email to