Rob Dixon wrote: > > Joseph wrote: > > > > "John W. Krahn" wrote: > > > > > > If you want to clear out the hash completely then: > > > > > > %hash = (); > > > > > > Will remove all the keys and values from the hash. This will also work > > > with a hash of hashes. > > > > > > Or if you need to reinitialize it you can just assign the key/value > > > pairs to the hash: > > > > > > %hash = ( newkey1 => 'newval1', newkey2 => 'newval2' ); > > > > > > Which will assign the new list, replacing anything that was in there > > > before. > > > > That indeed is one of the conveniences that makes one truly appreciate the > > beauty of Perl reference-counting, anonymous data structures, and the use of > > references. Makes cleanups fast and easy. > > I agree with your point, but there's no reference counting involved here > (unless the hash values were themselves references).
AFAIK all variables have a reference count. $ perl -e' use Devel::Peek; $c = 1; Dump $c; our $d = 2; Dump $d; my $e = 3; Dump $e; @f = 4; Dump @f; %g = ( 5, 6 ); Dump %g; ' SV = IV(0x8100f30) at 0x810a968 REFCNT = 1 FLAGS = (IOK,pIOK,IsUV) UV = 1 SV = IV(0x8100f34) at 0x810a8b4 REFCNT = 1 FLAGS = (IOK,pIOK,IsUV) UV = 2 SV = IV(0x8100f38) at 0x810da98 REFCNT = 1 FLAGS = (PADBUSY,PADMY,IOK,pIOK,IsUV) UV = 3 SV = IV(0x8100f3c) at 0x80f47a0 REFCNT = 1 FLAGS = (IOK,pIOK,IsUV) UV = 4 SV = PV(0x80f4a6c) at 0x80f46b0 REFCNT = 1 FLAGS = (TEMP,POK,pPOK) PV = 0x8104030 "5"\0 CUR = 1 LEN = 2 John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]