Funny, I was thinking the same.
$$keyptr = $$db{CurrentKey};
What exactly does this statement do? Mentally, I'm converting it to
$keyptr-> = $db->{CurrentKey};
which doesn't make any sense to me. What am I missing?
--
Time flies when you don't know what you're doing
| [reply] [d/l] [select] |
Well $$keyptr dereferences presumably a pointer to the $key. This is fine if say X(\$key); sub X{$keyptr = shift} got called. Then $$keyptr = 3; would set $key to be 3 (just for example).
As far as $$db{CurrentKey}, I figure that $db->{CurrentKey} is better although the other syntax is allowed.
As to why the OP did this, I'm not quite sure. Passing a reference to a scalar is usually not necessary because Perl can return multiple values in a list. Normally if I modify your input scalar, I return it back as a modified value in a list. That is different than passing me a reference to an array where that might be some huge thing.
| [reply] |