develooper Front page | perl.perl5.porters | Postings from May 2001

[ID 20010530.002] nested sort in perl-5.7.0 fails

From:
js
Date:
May 30, 2001 07:18
Subject:
[ID 20010530.002] nested sort in perl-5.7.0 fails
Message ID:
20010530141822.EDE4C1896F@delphi.kpnqwest.fi

This is a bug report for perl from js@kpnqwest.fi,
generated with the help of perlbug 1.32 running under perl v5.7.0.


-----------------------------------------------------------------
[Please enter your report here]

Code:

    #!/usr/bin/perl -w

    use strict;
    my @x = sort { X::foo($a) cmp X::foo($b) } qw(FOO BAR);

    package X;
    sub foo { 
        my $arg = shift; 
        my @dummy = sort { $arg.$a cmp $arg.$b } qw(B A); 
        print "$arg @dummy\n"; 
        return $arg; 
    }

Expected output is, AFAICS, that kind of lines (in some order):

    FOO A B
    BAR A B

However, this is what I got in my perl-5.7.0:

    FOO A B
    Use of uninitialized value in concatenation (.) or string at ./foo.pl line 9.
    Use of uninitialized value in concatenation (.) or string at ./foo.pl line 9.
    BAR B A

and I've heard that perl-5.7.1 outputs:

    FOO A B
    BAR B A


[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=low
---
Site configuration information for perl v5.7.0:

Configured by js at Fri Jan 26 20:09:22 EET 2001.

Summary of my perl5 (revision 5.0 version 7 subversion 0) configuration:
  Platform:
    osname=solaris, osvers=2.7, archname=sun4-solaris
    uname='sunos delphi 5.7 generic_106541-10 sun4u sparc sunw,ultra-250 '
    config_args=''
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
    cc='cc', ccflags ='-I/usr/local/include', optimize='-xO4', cppflags='-I/usr/local/include'
    ccversion='WorkShop Compilers 5.0 98/12/15 C 5.0', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib -L/opt/SUNWspro/SC5.0/lib'
    libpth=/usr/local/lib /opt/SUNWspro/SC5.0/lib /lib /usr/lib /usr/ccs/lib
    libs=-lsocket -lnsl -ldl -lm -lc -lcrypt -lsec
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
    cccdlflags='-KPIC', lddlflags='-G -L/usr/local/lib -L/opt/SUNWspro/SC5.0/lib'

Locally applied patches:
    

---
@INC for perl v5.7.0:
    /home/js
    /usr/local/perl-5.7.0/lib/5.7.0/sun4-solaris
    /usr/local/perl-5.7.0/lib/5.7.0
    /usr/local/perl-5.7.0/lib/site_perl/5.7.0/sun4-solaris
    /usr/local/perl-5.7.0/lib/site_perl/5.7.0
    /usr/local/perl-5.7.0/lib/site_perl
    .

---
Environment for perl v5.7.0:
    HOME=/home/js
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH=/oracle/app/product/8.0.6/lib:/usr/openwin/lib
    LOGDIR (unset)
    PATH=/home/js/bin:/oracle/app/product/8.0.6/bin:/opt/SUNWspro/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/ccs/bin:/usr/local/bin:/usr/local/sbin:/usr/X/bin
    PERL5LIB=/home/js
    PERL_BADLANG (unset)
    SHELL=/usr/local/bin/zsh




nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About