Perl

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • Data::Dumper Doesn't Stringify Numeric Labels

    2 answers - 5199 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    # New Ticket Created by Daniel Macks
    # Please include the string: [perl #36102]
    # in the subject line of all future correspondence about this issue.
    # <URL: >
    This is a bug report for perl from dmacks (AT) netspace (DOT) org,
    generated with the help of perlbug 1.35 running under perl v5.8.5.
    [Please enter your report here]
    The XS implementation of the "extended usage with names" syntax breaks
    when given labels that are numeric. Instead it uses the previous label
    if there was one. The "pure perl" implementation works correctly.
    Test program:
    use Data::Dumper;
    sub test {print Data::Dumper->Dump([qw/a b c d/],[10,11,"AA",12])}
    $Data::Dumper::Useperl=0;
    &test;
    print "\n";
    $Data::Dumper::Useperl=1;
    &test;
    Results:
    $10 = 'a';
    $10 = 'b';
    $AA = 'c';
    $AA = 'd';
    $10 = 'a';
    $11 = 'b';
    $AA = 'c';
    $12 = 'd';
    Verified on for the following cases of perl-core-supplied modules:
    Data::Dumper 2.12 on Mac S X, perl 5.8.1 (Apple S X 10.3.9)
    Data::Dumper 2.121_02 on Mac S X, perl 5.8.6 (Fink perl586-core-5.8.6-4)
    Data::Dumper 2.121 on linux i86, perl 5.8.5 (RedHat perl-5.8.5-4)
    [Please do not change anything below this line]
    Flags:
    category=library
    severity=medium
    This perlbug was built using Perl v5.8.5 in the Red Hat build system.
    It is being executed now by Perl v5.8.5 - Fri Aug 27 14:46:14 EDT 2004.
    Site configuration information for perl v5.8.5:
    Configured by Red Hat, Inc. at Fri Aug 27 14:46:14 EDT 2004.
    Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
    Platform:
    osname=linux, osvers=2.6.7-1.499smp,
    uname='linux thor.perf.redhat.com 2.6.7-1.499smp #1 smp wed jul 28 12:34:13 edt 2004 x86_64 x86_64 x86_64 gnulinux '
    config_args='-des -Doptimize= -g -pipe -m64 -Dversion=5.8.5 -Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat, Inc. -Dinstallprefix=/usr -Dprefix=/usr -Dlibpth=/usr/local/lib64 /lib64 /usr/lib64 -Dprivlib=/usr/lib/perl5/5.8.5 -Darchname=x86_64-linux -Dvendorprefix=/usr -Dsiteprefix=/usr -Duseshrplib -Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun -Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio -Dinstallusrbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr -Dinc_version_list=5.8.4 5.8.3 5.8.2 5.8.1 5.8.0'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
    Compiler:
    cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SURCE -D_FILEFFSET_BITS=64 -I/usr/include/gdbm',
    optimize=' -g -pipe -m64',
    cppflags='-D_REENTRANT -D_GNU_SURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/include/gdbm'
    ccversion='', gccversion='3.4.1 20040815 (Red Hat 3.4.1-9)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, ='off_t', lseeksize=8
    alignbytes=8, prototype=define
    Linker and Libraries:
    ld='gcc', ldflags =''
    libpth=/usr/local/lib64 /lib64 /usr/lib64
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.3.3.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.3.3'
    Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/'
    cccdlflags='-fPIC', lddlflags='-shared'
    Locally applied patches:
    @INC for perl v5.8.5:
    /
    /
    /
    /
    /
    /
    /
    /
    /
    /
    /home/dmacks/lib64/perl5/5.8.5
    /
    /home/dmacks/lib64/perl5/5.8.4
    /home/dmacks/lib64/perl5/5.8.3
    /home/dmacks/lib64/perl5/5.8.2
    /home/dmacks/lib64/perl5/5.8.1
    /home/dmacks/lib64/perl5/5.8.0
    /home/dmacks/lib64/perl5
    /
    /usr/lib/perl5/5.8.5
    /
    /
    /
    /
    /
    /
    /usr/lib/perl5/site_perl/5.8.5
    /usr/lib/perl5/site_perl/5.8.4
    /usr/lib/perl5/site_perl/5.8.3
    /usr/lib/perl5/site_perl/5.8.2
    /usr/lib/perl5/site_perl/5.8.1
    /usr/lib/perl5/site_perl/5.8.0
    /usr/lib/perl5/site_perl
    /
    /
    /
    /
    /
    /
    /
    /
    /
    /
    /
    /
    /usr/lib/perl5/vendor_perl
    .
    Environment for perl v5.8.5:
    HME=/home/dmacks
    LANG=PSIX
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LGDIR (unset)
    PERL_BADLANG (unset)
    SHELL=/bin/tcsh
  • No.1 | | 452 bytes | |

    Daniel Macks (via RT) wrote:
    The XS implementation of the "extended usage with names" syntax breaks
    when given labels that are numeric. Instead it uses the previous label
    if there was one. The "pure perl" implementation works correctly.

    Test program:

    use Data::Dumper;
    sub test {print Data::Dumper->Dump([qw/a b c d/],[10,11,"AA",12])}
    $Data::Dumper::Useperl=0;
    &test;

    This segfaults with bleadperl.
  • No.2 | | 517 bytes | |

    Rafael Garcia-Suarez wrote:
    Daniel Macks (via RT) wrote:
    The XS implementation of the "extended usage with names" syntax breaks
    when given labels that are numeric. Instead it uses the previous label
    if there was one. The "pure perl" implementation works correctly.

    Test program:

    use Data::Dumper;
    sub test {print Data::Dumper->Dump([qw/a b c d/],[10,11,"AA",12])}
    $Data::Dumper::Useperl=0;
    &test;

    This segfaults with bleadperl.

    Not anymore (patch #24917)

Re: Data::Dumper Doesn't Stringify Numeric Labels


max 4000 letters.
Your nickname that display:
In order to stop the spam: 4 + 3 =
QUESTION ON "Perl"

EMSDN.COM