Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.94k stars 554 forks source link

Wrong warning in hash slices with qw"" #7219

Closed p5pRT closed 11 years ago

p5pRT commented 20 years ago

Migrated from rt.perl.org#28380 (status was 'resolved')

Searchable as RT28380$

p5pRT commented 20 years ago

From 1@c07.de

This is a bug report for perl from 1@​c07.de\, generated with the help of perlbug 1.34 running under perl v5.8.0.

  perl -we 'my %h; @​h{qw"a b c"}= 1..3; print for keys %h'

prints

  Scalar value @​h{qw"a b c"} better written as $h{qw"a b c"} at -e line 1.

Similar with other uncommon delimiters for qw​: "'"\, "$"\, "-" and alphanumeric (maybe more).


Flags​:   category=core   severity=low


Site configuration information for perl v5.8.0​:

Configured by root at Sun Jul 27 08​:17​:01 CEST 2003.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration​:   Platform​:   osname=linux\, osvers=2.4.20-gentoo-r2\, archname=i686-linux   uname='linux local 2.4.20-gentoo-r2 #2 wed mar 26 00​:29​:00 cet 2003 i686 amd duron(tm) processor authenticamd gnulinux '   config_args='-des -Darchname=i686-linux -Dcc=gcc -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth= -Doptimize=-pipe -march=athlon-tbird -O2 -frename-registers -fomit-frame-pointer -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Dscriptdir=/usr/bin -Dman3ext=3pm -Dcf_by=Gentoo -Ud_csh -Di_gdbm -Di_db -Di_ndbm'   hint=recommended\, useposix=true\, d_sigaction=define   usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef   useperlio=define d_sfio=undef uselargefiles=define usesocks=undef   use64bitint=undef use64bitall=undef uselongdouble=undef   usemymalloc=n\, bincompat5005=undef   Compiler​:   cc='gcc'\, ccflags ='-DPERL5 -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'\,   optimize='-pipe -march=athlon-tbird -O2 -frename-registers -fomit-frame-pointer'\,   cppflags='-DPERL5 -DPERL5 -fno-strict-aliasing'   ccversion=''\, gccversion='3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1\, propolice)'\, gccosandvers=''   intsize=4\, longsize=4\, ptrsize=4\, doublesize=8\, byteorder=1234   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=12   ivtype='long'\, ivsize=4\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8   alignbytes=4\, prototype=define   Linker and Libraries​:   ld='gcc'\, ldflags =' -L/usr/local/lib'   libpth=/usr/local/lib /lib /usr/lib   libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lcrypt -lutil   perllibs=-lpthread -lnsl -ldl -lm -lc -lcrypt -lutil   libc=/lib/libc-2.3.2.so\, so=so\, useshrplib=false\, libperl=libperl.a   gnulibc_version='2.3.2'   Dynamic Linking​:   dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags='-rdynamic'   cccdlflags='-fpic'\, lddlflags='-shared -L/usr/local/lib'

Locally applied patches​:


@​INC for perl v5.8.0​:   /etc/perl   /usr/lib/perl5/site_perl/5.8.0/i686-linux   /usr/lib/perl5/site_perl/5.8.0   /usr/lib/perl5/site_perl   /usr/lib/perl5/vendor_perl/5.8.0/i686-linux   /usr/lib/perl5/vendor_perl/5.8.0   /usr/lib/perl5/vendor_perl   /usr/lib/perl5/5.8.0/i686-linux   /usr/lib/perl5/5.8.0   /usr/local/lib/site_perl   .


Environment for perl v5.8.0​:   HOME=/home/cl   LANG=C   LANGUAGE (unset)   LD_LIBRARY_PATH (unset)   LOGDIR (unset)

PATH=.​:/bin​:/usr/bin​:/usr/local/bin​:/opt/bin​:/usr/i686-pc-linux-gnu/gcc-bin/3.3​:/opt/Acrobat5​:/usr/X11R6/bin​:/opt/sun-jdk-1.4.2.01/bin​:/opt/sun-jdk-1.4.2.01/jre/bin​:/opt/sun-jdk-1.4.2.01/jre/javaws​:/usr/qt/3/bin​:/usr/kde/3.1/bin   PERL_BADLANG (unset)   SHELL=/bin/bash

p5pRT commented 20 years ago

From @mhx

On 2004-04-08\, at 19​:47​:49 -0000\, Andreas Schneider (via RT) wrote​:

# New Ticket Created by Andreas Schneider # Please include the string​: [perl #28380] # in the subject line of all future correspondence about this issue. # \<URL​: http​://rt.perl.org​:80/rt3/Ticket/Display.html?id=28380 >

This is a bug report for perl from 1@​c07.de\, generated with the help of perlbug 1.34 running under perl v5.8.0.

perl -we 'my %h; @​h{qw"a b c"}= 1..3; print for keys %h'

prints

Scalar value @​h{qw"a b c"} better written as $h{qw"a b c"} at -e line 1.

Similar with other uncommon delimiters for qw​: "'"\, "$"\, "-" and alphanumeric (maybe more).

And this doesn't warn\, even though it should​:

  perl -we 'my %h; @​h{"a\,b\,c"}= 1..3'

I've looked at the code that triggers the warning\, and it's not more than a simple heuristic. It works quite well in the most common cases\, but fails in the above cases.

Marcus

--- Flags​: category=core severity=low --- Site configuration information for perl v5.8.0​:

Configured by root at Sun Jul 27 08​:17​:01 CEST 2003.

Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration​: Platform​: osname=linux\, osvers=2.4.20-gentoo-r2\, archname=i686-linux uname='linux local 2.4.20-gentoo-r2 #2 wed mar 26 00​:29​:00 cet 2003 i686 amd duron(tm) processor authenticamd gnulinux ' config_args='-des -Darchname=i686-linux -Dcc=gcc -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr -Dlocincpth= -Doptimize=-pipe -march=athlon-tbird -O2 -frename-registers -fomit-frame-pointer -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Dscriptdir=/usr/bin -Dman3ext=3pm -Dcf_by=Gentoo -Ud_csh -Di_gdbm -Di_db -Di_ndbm' hint=recommended\, useposix=true\, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n\, bincompat5005=undef Compiler​: cc='gcc'\, ccflags ='-DPERL5 -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'\, optimize='-pipe -march=athlon-tbird -O2 -frename-registers -fomit-frame-pointer'\, cppflags='-DPERL5 -DPERL5 -fno-strict-aliasing' ccversion=''\, gccversion='3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1\, propolice)'\, gccosandvers='' intsize=4\, longsize=4\, ptrsize=4\, doublesize=8\, byteorder=1234 d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=12 ivtype='long'\, ivsize=4\, nvtype='double'\, nvsize=8\, Off_t='off_t'\, lseeksize=8 alignbytes=4\, prototype=define Linker and Libraries​: ld='gcc'\, ldflags =' -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib libs=-lpthread -lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lcrypt -lutil perllibs=-lpthread -lnsl -ldl -lm -lc -lcrypt -lutil libc=/lib/libc-2.3.2.so\, so=so\, useshrplib=false\, libperl=libperl.a gnulibc_version='2.3.2' Dynamic Linking​: dlsrc=dl_dlopen.xs\, dlext=so\, d_dlsymun=undef\, ccdlflags='-rdynamic' cccdlflags='-fpic'\, lddlflags='-shared -L/usr/local/lib'

Locally applied patches​:

--- @​INC for perl v5.8.0​: /etc/perl /usr/lib/perl5/site_perl/5.8.0/i686-linux /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i686-linux /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i686-linux /usr/lib/perl5/5.8.0 /usr/local/lib/site_perl .

--- Environment for perl v5.8.0​: HOME=/home/cl LANG=C LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset)

PATH=.​:/bin​:/usr/bin​:/usr/local/bin​:/opt/bin​:/usr/i686-pc-linux-gnu/gcc-bin/3.3​:/opt/Acrobat5​:/usr/X11R6/bin​:/opt/sun-jdk-1.4.2.01/bin​:/opt/sun-jdk-1.4.2.01/jre/bin​:/opt/sun-jdk-1.4.2.01/jre/javaws​:/usr/qt/3/bin​:/usr/kde/3.1/bin PERL_BADLANG (unset) SHELL=/bin/bash

-- Lackland's Laws​:   (1) Never be first.   (2) Never be last.   (3) Never volunteer for anything

p5pRT commented 20 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 14 years ago

From @davidnicol

Bogus warning with strawberry 5.8.9\, when making a list using qw'...'or qw"..." (but not any other characters) Also in a freshly compiled 5.8.9. And in cygwin's 5.10.1.

Whatever identifies scalar values and generates the warning is simply mistaken here\, possibly not prepared for qw changing the meaning of $quot; and '.

C​:\thing>perl -wce "eval {@​X{qw(abc def ghi)} = @​{[1..99]}[37\,22\,1]}" Name "main​::X" used only once​: possible typo at -e line 1. -e syntax OK

C​:\thing>perl -wce "eval {@​X{qw'abc def ghi'} = @​{[1..99]}[37\,22\,1]}" Scalar value @​X{qw'abc def ghi'} better written as $X{qw'abc def ghi'} at -e line 1. Name "main​::X" used only once​: possible typo at -e line 1. -e syntax OK

C​:\thing>perl -wle "eval {@​X{qw'abc def ghi'} = @​{[1..99]}[37\,22\,1]}; print join 'X'\, keys %X" Scalar value @​X{qw'abc def ghi'} better written as $X{qw'abc def ghi'} at -e line 1. defXabcXghi

p5pRT commented 14 years ago

From @tonycoz

On Thu\, Apr 29\, 2010 at 01​:20​:13PM -0700\, David Nicol wrote​:

# New Ticket Created by David Nicol # Please include the string​: [perl #74782] # in the subject line of all future correspondence about this issue. # \<URL​: http​://rt.perl.org/rt3/Ticket/Display.html?id=74782 >

Bogus warning with strawberry 5.8.9\, when making a list using qw'...'or qw"..." (but not any other characters) Also in a freshly compiled 5.8.9. And in cygwin's 5.10.1.

Whatever identifies scalar values and generates the warning is simply mistaken here\, possibly not prepared for qw changing the meaning of $quot; and '.

The problem isn't qw specifically\, other constructions can cause the same warning​:

perl -wce 'sub foo() { qw/abc def ghi/ } @​X{+foo} = ( 1 .. 3 );' Scalar value @​X{+foo} better written as $X{+foo} at -e line 1. Name "main​::X" used only once​: possible typo at -e line 1.

perl -we '$_ = "abc"; @​X{split ""} = ( 1 .. 3 );' Scalar value @​X{split ""} better written as $X{split ""} at -e line 1.

And other characters can be used with qw​:

perl -we '@​X{qw$abc def ghi$} = ( 1 .. 3 )' Scalar value @​X{qw$abc def ghi$} better written as $X{qw$abc def ghi$} at -e line 1.

The code that produces the warning uses a fairly simple heuristic to try and detect incorrect usage of @​foo[...] or @​foo{...} - it scans for the closing ] or }\, skipping alphanumeric characters and a few others.

I don't really see a way to fix this without moving it up to checking the generated ops.

Tony

p5pRT commented 14 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 13 years ago

From doabackflip@gmail.com

Created by doabackflip@gmail.com

I'm trying to use hash slices\, but I get a warning saying Scalar value @​foo{qw#a b#} better written as $foo{qw#a b#} at -e line 1. - this seems incorrect

This works OK​:

geedorah​:/home/wstest# perl -E '$foo{a}=1; $foo{b}=2; say join"\,"\, @​foo{qw#a b#}' 1\,2

But with warnings​:

geedorah​:/home/wstest# perl -wE '$foo{a}=1; $foo{b}=2; say join"\,"\, @​foo{qw#a b#}' Scalar value @​foo{qw#a b#} better written as $foo{qw#a b#} at -e line 1. 1\,2

But if I take perl's advice\, it (unsurprisingly) doesn't work​:

geedorah​:/home/wstest# perl -wE '$foo{a}=1; $foo{b}=2; say join"\,"\, $foo{qw#a b#}' Use of uninitialized value within %foo in join or string at -e line 1.

Not using "qw" seems OK​:

geedorah​:/home/wstest# perl -wE '$foo{a}=1; $foo{b}=2; say join"\,"\, @​foo{"a"\,"b"}' 1\,2

From http​://www.perlmonks.org/?node_id=901368

I also confirmed the warning message (I'm on v5.12.2). But\, it only seems to happen with the # delimiters. If I use other delimiters\, I get no warnings​:

$ perl -wE '$foo{a}=1; $foo{b}=2; say join"\,"\, @​foo{qw{a b}}' 1\,2 $ perl -wE '$foo{a}=1; $foo{b}=2; say join"\,"\, @​foo{qw/a b/}' 1\,2 $ perl -wE '$foo{a}=1; $foo{b}=2; say join"\,"\, @​foo{qw(a b)}' 1\,2 $ perl -wE '$foo{a}=1; $foo{b}=2; say join"\,"\, @​foo{qw#a b#}' Scalar value @​foo{qw#a b#} better written as $foo{qw#a b#} at -e line 1. 1\,2 $

Perl Info ``` Flags: category=core severity=low Site configuration information for perl 5.10.1: Configured by Debian Project at Fri Jan 7 13:21:10 UTC 2011. Summary of my perl5 (revision 5 version 10 subversion 1) configuration: Platform: osname=linux, osvers=2.6.32.27-dsa-ia32, archname=i486-linux-gnu-thread-multi uname='linux murphy 2.6.32.27-dsa-ia32 #1 smp mon dec 13 11:15:55 cet 2010 i686 gnulinux ' config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.1 -Dsitearch=/usr/local/lib/perl/5.10.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.1 -Dd_dosuid -des' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -g', cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.4.5', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /usr/lib64 libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt perllibs=-ldl -lm -lpthread -lc -lcrypt libc=/lib/libc-2.11.2.so, so=so, useshrplib=true, libperl=libperl.so.5.10.1 gnulibc_version='2.11.2' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector' Locally applied patches: DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable. DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN. DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check. DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information. DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories. DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes. DEBPKG:debian/extutils_hacks - Various debian-specific ExtUtils changes DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets. DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor. DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy. DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable. DEBPKG:debian/m68k_thread_stress - http://bugs.debian.org/495826 Disable some threads tests on m68k for now due to missing TLS. DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy DEBPKG:debian/perl_synopsis - http://bugs.debian.org/278323 Rearrange perl.pod DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need. DEBPKG:debian/use_gdbm - Explicitly link against -lgdbm_compat in ODBM_File/NDBM_File. DEBPKG:fixes/assorted_docs - http://bugs.debian.org/443733 [384f06a] Math::BigInt::CalcEmu documentation grammar fix DEBPKG:fixes/net_smtp_docs - http://bugs.debian.org/100195 [rt.cpan.org #36038] Document the Net::SMTP 'Port' option DEBPKG:fixes/processPL - http://bugs.debian.org/357264 [rt.cpan.org #17224] Always use PERLRUNINST when building perl modules. DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local DEBPKG:fixes/pod2man-index-backslash - http://bugs.debian.org/521256 Escape backslashes in .IX entries DEBPKG:debian/disable-zlib-bundling - Disable zlib bundling in Compress::Raw::Zlib DEBPKG:fixes/kfreebsd_cppsymbols - http://bugs.debian.org/533098 [3b910a0] Add gcc predefined macros to $Config{cppsymbols} on GNU/kFreeBSD. DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 Configure CPANPLUS to use the site directories by default. DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl. DEBPKG:fixes/kfreebsd-filecopy-pipes - http://bugs.debian.org/537555 [16f708c] Fix File::Copy::copy with pipes on GNU/kFreeBSD DEBPKG:fixes/anon-tmpfile-dir - http://bugs.debian.org/528544 [perl #66452] Honor TMPDIR when open()ing an anonymous temporary file DEBPKG:fixes/abstract-sockets - http://bugs.debian.org/329291 [89904c0] Add support for Abstract namespace sockets. DEBPKG:fixes/hurd_cppsymbols - http://bugs.debian.org/544307 [eeb92b7] Add gcc predefined macros to $Config{cppsymbols} on GNU/Hurd. DEBPKG:fixes/autodie-flock - http://bugs.debian.org/543731 Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc DEBPKG:fixes/archive-tar-instance-error - http://bugs.debian.org/539355 [rt.cpan.org #48879] Separate Archive::Tar instance error strings from each other DEBPKG:fixes/positive-gpos - http://bugs.debian.org/545234 [perl #69056] [c584a96] Fix \\G crash on first match DEBPKG:debian/devel-ppport-ia64-optim - http://bugs.debian.org/548943 Work around an ICE on ia64 DEBPKG:fixes/trie-logic-match - http://bugs.debian.org/552291 [perl #69973] [0abd0d7] Fix a DoS in Unicode processing [CVE-2009-3626] DEBPKG:fixes/hppa-thread-eagain - http://bugs.debian.org/554218 make the threads-shared test suite more robust, fixing failures on hppa DEBPKG:fixes/crash-on-undefined-destroy - http://bugs.debian.org/564074 [perl #71952] [1f15e67] Fix a NULL pointer dereference when looking for a DESTROY method DEBPKG:fixes/tainted-errno - http://bugs.debian.org/574129 [perl #61976] [be1cf43] fix an errno stringification bug in taint mode DEBPKG:fixes/safe-upgrade - http://bugs.debian.org/582978 Upgrade Safe.pm to 2.25, fixing CVE-2010-1974 DEBPKG:fixes/tell-crash - http://bugs.debian.org/578577 [f4817f3] Fix a tell() crash on bad arguments. DEBPKG:fixes/format-write-crash - http://bugs.debian.org/579537 [perl #22977] [421f30e] Fix a crash in format/write DEBPKG:fixes/arm-alignment - http://bugs.debian.org/289884 [f1c7503] Prevent gcc from optimizing the alignment test away on armel DEBPKG:fixes/fcgi-test - Fix a failure in CGI/t/fast.t when FCGI is installed DEBPKG:fixes/hurd-ccflags - http://bugs.debian.org/587901 Make hints/gnu.sh append to $ccflags rather than overriding them DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts DEBPKG:fixes/lc-numeric-docs - http://bugs.debian.org/379329 [perl #78452] [903eb63] LC_NUMERIC documentation fixes DEBPKG:fixes/lc-numeric-sprintf - http://bugs.debian.org/601549 [perl #78632] [b3fd614] Fix sprintf not to ignore LC_NUMERIC with constants DEBPKG:fixes/concat-stack-corruption - http://bugs.debian.org/596105 [perl #78674] [e3393f5] Fix stack pointer corruption in pp_concat() with 'use encoding' DEBPKG:fixes/cgi-multiline-header - http://bugs.debian.org/606995 [CVE-2010-2761 CVE-2010-4410 CVE-2010-4411] CGI.pm MIME boundary and multiline header vulnerabilities DEBPKG:patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.10.1-17 in patchlevel.h @INC for perl 5.10.1: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 . Environment for perl 5.10.1: HOME=/root LANG=en_GB.UTF-8 LANGUAGE= LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PERL_BADLANG (unset) SHELL=/bin/bash ```
p5pRT commented 13 years ago

From @ikegami

Created by @ikegami

$ perl -c -we'my %f; my @​a = @​f{qw( a b )}' -e syntax OK

$ perl -c -we'my %f; my @​a = @​f{qw! a b !}' -e syntax OK

$ perl -c -we'my %f; my @​a = @​f{qw# a b #}' Scalar value @​f{qw# a b #} better written as $f{qw# a b #} at -e line 1. -e syntax OK

$ perl -c -we'my %f; my @​a = @​f{qw$ a b $}' Scalar value @​f{qw$ a b $} better written as $f{qw$ a b $} at -e line 1. -e syntax OK

Bug present in all versions tested​: v5.8.9\, v5.10.1\, v5.12.2\, v5.13.10.

Perl Info ``` Flags:     category=core     severity=low Site configuration information for perl 5.12.2: Configured by eric at Wed Sep  8 16:01:41 EDT 2010. Summary of my perl5 (revision 5 version 12 subversion 2) configuration:   Platform:     osname=linux, osvers=2.6.26-2-686, archname=i686-linux     uname='linux fmdev10 2.6.26-2-686 #1 smp tue mar 9 17:35:51 utc 2010 i686 gnulinux '     config_args='-de -Dprefix=/home/eric/usr/perlbrew/perls/perl-5.12.2'     hint=recommended, useposix=true, d_sigaction=define     useithreads=undef, usemultiplicity=undef     useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef     use64bitint=undef, use64bitall=undef, uselongdouble=undef     usemymalloc=n, bincompat5005=undef   Compiler:     cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',     optimize='-O2',     cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'     ccversion='', gccversion='4.3.2', gccosandvers=''     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8     alignbytes=4, prototype=define   Linker and Libraries:     ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'     libpth=/usr/local/lib /lib /usr/lib     libs=-lnsl -ldl -lm -lcrypt -lutil -lc     perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc     libc=/lib/libc-2.7.so, so=so, useshrplib=false, libperl=libperl.a     gnulibc_version='2.7'   Dynamic Linking:     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'     cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector' Locally applied patches: @INC for perl 5.12.2:     /home/eric/usr/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/i686-linux     /home/eric/usr/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2     /home/eric/usr/perlbrew/perls/perl-5.12.2/lib/5.12.2/i686-linux     /home/eric/usr/perlbrew/perls/perl-5.12.2/lib/5.12.2     . Environment for perl 5.12.2:     HOME=/home/eric     LANG=en_US.UTF-8     LANGUAGE=     LD_LIBRARY_PATH (unset)     LOGDIR (unset)     PATH=/home/eric/usr/perlbrew/bin:/home/eric/usr/perlbrew/perls/current/bin:.:/home/eric/bin:/usr/local/bin:/usr/bin:/bin:/usr/games     PERLBREW_ROOT=/home/eric/usr/perlbrew     PERL_BADLANG (unset)     SHELL=/bin/bash ```
p5pRT commented 13 years ago

From alex-perlbug@earth.li

There's all manner of fun one can have here\, this warns on the perfectly valid\, but why-would-you fragments below​:

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"}"\, "a"}' Scalar value @​f{"} better written as $f{"} at -e line 1.

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"]"\, "a"}' Scalar value @​f{"] better written as $f{"] at -e line 1.

I've attached a patch for a failing test as I can't solve this quickly.

The offensive code is from toke.c which just looks to the first closing } or ] in a vague way for a sort-of-scalar or a sort-of-list within the braces​:

  /* Warn about @​ where they meant $. */   if (*s == '[' || *s == '{') {   if (ckWARN(WARN_SYNTAX)) {   const char *t = s + 1;   while (*t && (isALNUM_lazy_if(t\,UTF) || strchr(" \t$#+-'\""\, *t)))   t++;   if (*t == '}' || *t == ']') {   t++;   PL_bufptr = PEEKSPACE(PL_bufptr); /* XXX can realloc */   Perl_warner(aTHX_ packWARN(WARN_SYNTAX)\,   "Scalar value %.*s better written as $%.*s"\,   (int)(t-PL_bufptr)\, PL_bufptr\,   (int)(t-PL_bufptr-1)\, PL_bufptr+1);   }   }   }

p5pRT commented 13 years ago

From alex-perlbug@earth.li

diff --git a/t/lib/warnings/toke b/t/lib/warnings/toke index 9c33e71..622441a 100644 --- a/t/lib/warnings/toke +++ b/t/lib/warnings/toke @​@​ -972\,3 +972\,15 @​@​ Regexp modifiers "/l" and "/a" are mutually exclusive at - line 4\, near "= " Regexp modifier "/l" may not appear twice at - line 5\, near "= " Regexp modifier "/a" may appear a maximum of twice at - line 7\, near "= " BEGIN not safe after errors--compilation aborted at - line 8. +######## +# toke.c +use warnings; +my %f; +my @​a = @​f{qw(a b)}; +@​a = @​f{qw$a b$}; +@​a = @​f{"}"\, "a"}; +print "done\n"; +my $a = @​f{q'a'}; +EXPECT +Scalar value @​f{q'a'} better written as $f{q'a'} at - line 8. +done

p5pRT commented 13 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 13 years ago

From alex-perlbug@earth.li

Except\, of course\, I meant to send you this test patch. Sorry.

Alex

On Sat Apr 30 22​:52​:59 2011\, quidity wrote​:

There's all manner of fun one can have here\, this warns on the perfectly valid\, but why-would-you fragments below​:

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"}"\, "a"}' Scalar value @​f{"} better written as $f{"} at -e line 1.

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"]"\, "a"}' Scalar value @​f{"] better written as $f{"] at -e line 1.

I've attached a patch for a failing test as I can't solve this quickly.

The offensive code is from toke.c which just looks to the first closing } or ] in a vague way for a sort-of-scalar or a sort-of-list within the braces​:

        /\* Warn about @&#8203; where they meant $\. \*/
        if \(\*s == '\[' || \*s == '\{'\) \{
            if \(ckWARN\(WARN\_SYNTAX\)\) \{
                const char \*t = s \+ 1;
                while \(\*t && \(isALNUM\_lazy\_if\(t\,UTF\) || strchr\(" 

\t$#+-'\""\, *t))) t++; if (*t == '}' || *t == ']') { t++; PL_bufptr = PEEKSPACE(PL_bufptr); /* XXX can realloc */ Perl_warner(aTHX_ packWARN(WARN_SYNTAX)\, "Scalar value %.*s better written as $%.*s"\, (int)(t-PL_bufptr)\, PL_bufptr\, (int)(t-PL_bufptr-1)\, PL_bufptr+1); } } }

p5pRT commented 13 years ago

From alex-perlbug@earth.li

diff --git a/t/lib/warnings/toke b/t/lib/warnings/toke index 9c33e71..6cdff28 100644 --- a/t/lib/warnings/toke +++ b/t/lib/warnings/toke @​@​ -972\,3 +972\,15 @​@​ Regexp modifiers "/l" and "/a" are mutually exclusive at - line 4\, near "= " Regexp modifier "/l" may not appear twice at - line 5\, near "= " Regexp modifier "/a" may appear a maximum of twice at - line 7\, near "= " BEGIN not safe after errors--compilation aborted at - line 8. +######## +# toke.c +use warnings; +my %f; +my @​a = @​f{qw(a b)}; +@​a = @​f{qw$a b$}; +@​a = @​f{"}"\, "a"}; +print "done\n"; +my $a = @​f{q'a'}; +EXPECT +done +Scalar value @​f{q'a'} better written as $f{q'a'} at - line 8.

p5pRT commented 13 years ago

From alex-perlbug@earth.li

No\, I didn't. Warnings first\, done last. As you were. The first patch is the correct one.

On Sat Apr 30 22​:57​:59 2011\, quidity wrote​:

Except\, of course\, I meant to send you this test patch. Sorry.

Alex

On Sat Apr 30 22​:52​:59 2011\, quidity wrote​:

There's all manner of fun one can have here\, this warns on the perfectly valid\, but why-would-you fragments below​:

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"}"\, "a"}' Scalar value @​f{"} better written as $f{"} at -e line 1.

the perldev/perl% ./miniperl -w -e 'my %f; my @​s = @​f{"]"\, "a"}' Scalar value @​f{"] better written as $f{"] at -e line 1.

I've attached a patch for a failing test as I can't solve this quickly.

The offensive code is from toke.c which just looks to the first closing } or ] in a vague way for a sort-of-scalar or a sort-of-list within the braces​:

        /\* Warn about @&#8203; where they meant $\. \*/
        if \(\*s == '\[' || \*s == '\{'\) \{
            if \(ckWARN\(WARN\_SYNTAX\)\) \{
                const char \*t = s \+ 1;
                while \(\*t && \(isALNUM\_lazy\_if\(t\,UTF\) || strchr\(" 

\t$#+-'\""\, *t))) t++; if (*t == '}' || *t == ']') { t++; PL_bufptr = PEEKSPACE(PL_bufptr); /* XXX can realloc */ Perl_warner(aTHX_ packWARN(WARN_SYNTAX)\, "Scalar value %.*s better written as $%.*s"\, (int)(t-PL_bufptr)\, PL_bufptr\, (int)(t-PL_bufptr-1)\, PL_bufptr+1); } } }

p5pRT commented 12 years ago

From ailin@flupps.net

Created by ailin@flupps.net

The following code

  perl -Mwarnings -E"@​x{qw'y z'}"

elicits the warning

  Scalar value @​x{qw'y z'} better written as $x{qw'y z'} at -e line 1.

which is clearly bogus and following the recommendation would break code logic. This does not happen with @​x{(qw'y z')} or another delimiter for qq.

The issue has been confirmed on freenode #perl channel.

Perl Info ``` Flags: category=library severity=low module=warnings Site configuration information for perl 5.10.1: Configured by Debian Project at Thu Jun 30 19:24:11 UTC 2011. Summary of my perl5 (revision 5 version 10 subversion 1) configuration: Commit id: Platform: osname=linux, osvers=2.6.32-5-686, archname=i486-linux-gnu-thread-multi uname='linux callisto 2.6.32-5-686 #1 smp mon jun 13 04:13:06 utc 2011 i686 gnulinux ' config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.1 -Dsitearch=/usr/local/lib/perl/5.10.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.1 -Dd_dosuid -des' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -g', cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.4.5', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /usr/lib64 libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt perllibs=-ldl -lm -lpthread -lc -lcrypt libc=/lib/libc-2.11.2.so, so=so, useshrplib=true, libperl=libperl.so.5.10.1 gnulibc_version='2.11.2' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector' Locally applied patches: DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable. DEBPKG:debian/cpan_definstalldirs - Provide a sensible INSTALLDIRS default for modules installed from CPAN. DEBPKG:debian/db_file_ver - http://bugs.debian.org/340047 Remove overly restrictive DB_File version check. DEBPKG:debian/doc_info - Replace generic man(1) instructions with Debian-specific information. DEBPKG:debian/enc2xs_inc - http://bugs.debian.org/290336 Tweak enc2xs to follow symlinks and ignore missing @INC directories. DEBPKG:debian/errno_ver - http://bugs.debian.org/343351 Remove Errno version check due to upgrade problems with long-running processes. DEBPKG:debian/extutils_hacks - Various debian-specific ExtUtils changes DEBPKG:debian/fakeroot - Postpone LD_LIBRARY_PATH evaluation to the binary targets. DEBPKG:debian/instmodsh_doc - Debian policy doesn't install .packlist files for core or vendor. DEBPKG:debian/ld_run_path - Remove standard libs from LD_RUN_PATH as per Debian policy. DEBPKG:debian/libnet_config_path - Set location of libnet.cfg to /etc/perl/Net as /usr may not be writable. DEBPKG:debian/m68k_thread_stress - http://bugs.debian.org/495826 Disable some threads tests on m68k for now due to missing TLS. DEBPKG:debian/mod_paths - Tweak @INC ordering for Debian DEBPKG:debian/module_build_man_extensions - http://bugs.debian.org/479460 Adjust Module::Build manual page extensions for the Debian Perl policy DEBPKG:debian/perl_synopsis - http://bugs.debian.org/278323 Rearrange perl.pod DEBPKG:debian/prune_libs - http://bugs.debian.org/128355 Prune the list of libraries wanted to what we actually need. DEBPKG:debian/use_gdbm - Explicitly link against -lgdbm_compat in ODBM_File/NDBM_File. DEBPKG:fixes/assorted_docs - http://bugs.debian.org/443733 [384f06a] Math::BigInt::CalcEmu documentation grammar fix DEBPKG:fixes/net_smtp_docs - http://bugs.debian.org/100195 [rt.cpan.org #36038] Document the Net::SMTP 'Port' option DEBPKG:fixes/processPL - http://bugs.debian.org/357264 [rt.cpan.org #17224] Always use PERLRUNINST when building perl modules. DEBPKG:debian/perlivp - http://bugs.debian.org/510895 Make perlivp skip include directories in /usr/local DEBPKG:fixes/pod2man-index-backslash - http://bugs.debian.org/521256 Escape backslashes in .IX entries DEBPKG:debian/disable-zlib-bundling - Disable zlib bundling in Compress::Raw::Zlib DEBPKG:fixes/kfreebsd_cppsymbols - http://bugs.debian.org/533098 [3b910a0] Add gcc predefined macros to $Config{cppsymbols} on GNU/kFreeBSD. DEBPKG:debian/cpanplus_definstalldirs - http://bugs.debian.org/533707 Configure CPANPLUS to use the site directories by default. DEBPKG:debian/cpanplus_config_path - Save local versions of CPANPLUS::Config::System into /etc/perl. DEBPKG:fixes/kfreebsd-filecopy-pipes - http://bugs.debian.org/537555 [16f708c] Fix File::Copy::copy with pipes on GNU/kFreeBSD DEBPKG:fixes/anon-tmpfile-dir - http://bugs.debian.org/528544 [perl #66452] Honor TMPDIR when open()ing an anonymous temporary file DEBPKG:fixes/abstract-sockets - http://bugs.debian.org/329291 [89904c0] Add support for Abstract namespace sockets. DEBPKG:fixes/hurd_cppsymbols - http://bugs.debian.org/544307 [eeb92b7] Add gcc predefined macros to $Config{cppsymbols} on GNU/Hurd. DEBPKG:fixes/autodie-flock - http://bugs.debian.org/543731 Allow for flock returning EAGAIN instead of EWOULDBLOCK on linux/parisc DEBPKG:fixes/archive-tar-instance-error - http://bugs.debian.org/539355 [rt.cpan.org #48879] Separate Archive::Tar instance error strings from each other DEBPKG:fixes/positive-gpos - http://bugs.debian.org/545234 [perl #69056] [c584a96] Fix \\G crash on first match DEBPKG:debian/devel-ppport-ia64-optim - http://bugs.debian.org/548943 Work around an ICE on ia64 DEBPKG:fixes/trie-logic-match - http://bugs.debian.org/552291 [perl #69973] [0abd0d7] Fix a DoS in Unicode processing [CVE-2009-3626] DEBPKG:fixes/hppa-thread-eagain - http://bugs.debian.org/554218 make the threads-shared test suite more robust, fixing failures on hppa DEBPKG:fixes/crash-on-undefined-destroy - http://bugs.debian.org/564074 [perl #71952] [1f15e67] Fix a NULL pointer dereference when looking for a DESTROY method DEBPKG:fixes/tainted-errno - http://bugs.debian.org/574129 [perl #61976] [be1cf43] fix an errno stringification bug in taint mode DEBPKG:fixes/safe-upgrade - http://bugs.debian.org/582978 Upgrade Safe.pm to 2.25, fixing CVE-2010-1974 DEBPKG:fixes/tell-crash - http://bugs.debian.org/578577 [f4817f3] Fix a tell() crash on bad arguments. DEBPKG:fixes/format-write-crash - http://bugs.debian.org/579537 [perl #22977] [421f30e] Fix a crash in format/write DEBPKG:fixes/arm-alignment - http://bugs.debian.org/289884 [f1c7503] Prevent gcc from optimizing the alignment test away on armel DEBPKG:fixes/fcgi-test - Fix a failure in CGI/t/fast.t when FCGI is installed DEBPKG:fixes/hurd-ccflags - http://bugs.debian.org/587901 Make hints/gnu.sh append to $ccflags rather than overriding them DEBPKG:debian/squelch-locale-warnings - http://bugs.debian.org/508764 Squelch locale warnings in Debian package maintainer scripts DEBPKG:fixes/lc-numeric-docs - http://bugs.debian.org/379329 [perl #78452] [903eb63] LC_NUMERIC documentation fixes DEBPKG:fixes/lc-numeric-sprintf - http://bugs.debian.org/601549 [perl #78632] [b3fd614] Fix sprintf not to ignore LC_NUMERIC with constants DEBPKG:fixes/concat-stack-corruption - http://bugs.debian.org/596105 [perl #78674] [e3393f5] Fix stack pointer corruption in pp_concat() with 'use encoding' DEBPKG:fixes/cgi-multiline-header - http://bugs.debian.org/606995 [CVE-2010-2761 CVE-2010-4410 CVE-2010-4411] CGI.pm MIME boundary and multiline header vulnerabilities DEBPKG:fixes/casing-taint-cve-2011-1487 - http://bugs.debian.org/622817 [perl #87336] fix unwanted taint laundering in lc(), uc() et al. DEBPKG:fixes/safe-reval-rdo-cve-2010-1447 - [PATCH] Wrap by default coderefs returned by rdo and reval DEBPKG:patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.10.1-17squeeze2 in patchlevel.h @INC for perl 5.10.1: /home/ailin/myperl/lib/i486-linux-gnu-thread-multi /home/ailin/myperl/lib /home/ailin/myperl/lib/perl/5.10.0 /home/ailin/myperl/share/perl/5.10.0 /home/ailin/myperl/lib/perl5/i486-linux-gnu-thread-multi /home/ailin/myperl/lib/perl5 /home/ailin/myperl/share/perl5 /home/ailin/myperl/lib/perl/5.10 /home/ailin/myperl/share/perl/5.10 /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . Environment for perl 5.10.1: HOME=/home/ailin LANG=en_GB.UTF-8 LANGUAGE=en_GB.utf-8 LC_ADDRESS=de_DE.UTF-8 LC_ALL=en_GB.utf-8 LC_MEASUREMENT=de_DE.UTF-8 LC_MONETARY=de_DE.UTF-8 LC_NAME=de_DE.UTF-8 LC_NUMERIC=de_DE.UTF-8 LC_PAPER=de_DE.UTF-8 LC_TELEPHONE=de_DE.UTF-8 LC_TIME=de_DE.UTF-8 LD_LIBRARY_PATH=/home/ailin/tmux_n/libevt LOGDIR (unset) PATH=/home/ailin/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games PERL5LIB=/home/ailin/myperl/lib:/home/ailin/myperl/lib/perl/5.10.0:/home/ailin/myperl/share/perl/5.10.0:/home/ailin/myperl/lib/perl5:/home/ailin/myperl/share/perl5:/home/ailin/myperl/lib/perl/5.10:/home/ailin/myperl/share/perl/5.10 PERL_BADLANG (unset) SHELL=/usr/bin/zsh ```
p5pRT commented 11 years ago

From @cpansprout

Fixed in 429a25554.

--

Father Chrysostomos

p5pRT commented 11 years ago

From [Unknown Contact. See original ticket]

Fixed in 429a25554.

--

Father Chrysostomos

p5pRT commented 11 years ago

@cpansprout - Status changed from 'open' to 'resolved'