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 ---

