http://qs1969.pair.com?node_id=35911

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I have some code which goes something like this...

package myPackage; my @containerRefArray=(); my @containeeArray=(); ... sub get_parentRelPos (\%$) { my ($object, $name)=@_; my ($i, $j, $found); my @tmp; my $parentObject=$object->{'~PARENT'}; my $objectIndex=$object->{'~entPhysicalIndex'}; for ($i=0; $i < @containerRefArray; $i++) { if ($containerRefArray[$i] eq $parentObject) { $found=1; last; } } ...

I have followed this code through with the debugger, and find that everything is OK until the last; statement, after which @containeeArray contains nothing...
DB<16> x @containeeArray 0 ARRAY(0xf132c0) 0 HASH(0xf11260) 'entPhysicalAlias' => undef ... DB<17> n NIM_Contains::get_parentRelPos(/home/rt106745/dev-edit/modules/NIM_Con +tains.pm:48): 48: if ($found) { DB<17> x @containeeArray empty array


Does anybody here have any clues as to what might be going on?
The arrays contain references to tied hashes, if that's any help, although that shouldn't change anything, should it?