[prev in list] [next in list] [prev in thread] [next in thread] 

List:       perl5-porters
Subject:    [perl #47948] [documentation] Hash::Util::FieldHash
From:       Michael Cartmell (via RT) <perlbug-followup () perl ! org>
Date:       2007-11-29 10:44:22
Message-ID: rt-3.6.HEAD-28750-1196333062-439.47948-75-0 () perl ! org
[Download RAW message or body]

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


This is a bug report for perl from Michael Cartmell,
generated with the help of perlbug 1.36 running under perl 5.10.0.


-----------------------------------------------------------------
In the documentation for Hash::Util::FieldHash, the section
Garbage-Collected Hashes says that deleting a key whilst iterating
through the hash will cause bad things to happen (I paraphrase). This is
at variance with a recent posting by Mark Dominus at
http://blog.plover.com/ where he says that adding keys will cause
unpredictable behaviour but deleting keys will not. In fact a fair bit
of trouble was taken Larry Wall to make sure it doesn't.

Assuming MJD is correct and the implementation of hashes in 5.10.0
hasn't changed this behaviour (it was current at 5.8.8) the
documentation should warn about *creating* objects whilst iterating over
fields.

-----------------------------------------------------------------
---
Flags:
    category=library
    severity=low
---
Site configuration information for perl 5.10.0:

Configured by michael at Tue Nov 27 17:34:32 EST 2007.

Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=linux, osvers=2.6.22.12-0.1-default,
archname=i686-linux-thread-multi-64int-ld
    uname='linux lnx-main 2.6.22.12-0.1-default #1 smp 20071106 23:05:18
utc i686 athlon i386 gnulinux '
    config_args=''
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=undef, uselongdouble=define
    usemymalloc=y, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing
-pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -march=i686',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe
-I/usr/local/include'
    ccversion='', gccversion='4.2.1 (SUSE Linux)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long long', ivsize=8, nvtype='long double', nvsize=12,
Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.6.1.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.6.1'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -march=i686 -L/usr/local/lib'

Locally applied patches:
    RC2

---
@INC for perl 5.10.0:
    /net/perl/5.10.0-rc2/lib/i686-linux-thread-multi-64int-ld
    /net/perl/5.10.0-rc2/lib
    /net/perl/5.10.0-rc2/lib/site_perl/i686-linux-thread-multi-64int-ld
    /net/perl/5.10.0-rc2/lib/site_perl
    .

---
Environment for perl 5.10.0:
    HOME=/home/michael
    LANG=en_GB.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)

PATH=/net/perl/5.10.0-rc2/bin:/opt/kde3/bin:/net/perl/5.8.8/bin:/home/michael/bin:/usr \
/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/qt3/bin
  PERL_BADLANG (unset)
    SHELL=/bin/bash


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic