in reply to Re: Whither the truth of a tied hash?
in thread Whither the truth of a tied hash?
if (%h) { ...do something with a non-empty hash }
As far as I can tell, there is no method in the tied hash class that is invoked for this. Try the following module to test:
package TieTest; use strict; use Carp; use vars qw(@ISA); use Tie::Hash; @ISA = qw( Tie::StdHash ); sub STORE { notify('STORE'); shift->SUPER::STORE(@_); } sub FETCH { notify('FETCH'); shift->SUPER::FETCH(@_); } sub FIRSTKEY { notify('FIRSTKEY'); shift->SUPER::FIRSTKEY(@_); } sub NEXTKEY { notify('NEXTKEY'); shift->SUPER::NEXTKEY(@_); } sub EXISTS { notify('EXISTS'); shift->SUPER::EXISTS(@_); } sub DELETE { notify('DELETE'); shift->SUPER::DELETE(@_); } sub CLEAR { notify('CLEAR'); shift->SUPER::CLEAR(@_); } sub notify { print shift, " here.\n"; } 1;You can use it with something like this:
#!/usr/bin/perl use TieTest; tie %h, 'TieTest'; grep($h{$_} = $_, 0 .. 9); print "Scalar test:\n"; $c = %h; print "count is $c\n";Any ideas?
|
---|
Replies are listed 'Best First'. | |
---|---|
RE: RE: Re: Whither the truth of a tied hash?
by chromatic (Archbishop) on Apr 29, 2000 at 00:28 UTC | |
by mojotoad (Monsignor) on Apr 29, 2000 at 01:04 UTC |