in reply to About BLOCK variables
First off: Assigning '' to $uid here is both mildly confusing of the issue, and redundant. The reason is that my $uid; will implicitly set $uid to undef, which is false.
However, that's not the problem, as far as I can see. There's two possiblities. The first is that $entry->get($_) might not return the same thing all three times you call it. Presumably, you'd know if this were a possiblity, so I won't talk much about it. The second possiblity is that it returns somthing that isn't an array reference, but is true.
I'd do this somthing like this:
for my $entry ($searchresult->entries) { my $uid = $entry->get('uid'); if (!$uid || !UNIVERSAL::isa($uid, 'ARRAY')) { print "*** No uid for the following entry:\n"; print Dumper(\$entry); } $uid = ${$uid}[0]; if (!$uid) { print "*** No uid for the following entry:\n"; print Dumper(\$entry); } for (@vars) { $uids{$uid}{$_} = ''; $uids{$uid}{$_} = ${$uid}[0]; } }
Note that UNIVERSAL::isa($foo, 'ARRAY'); will tell you if $foo is a reference to an array (or if it is a reference to somthing else blessed into a class named ARRAY, which I find terribly unlikely).
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: About BLOCK variables
by Anonymous Monk on May 24, 2003 at 06:48 UTC |