On 7/10/09 Fri Jul 10, 2009 2:25 PM, "Shawn H. Corey"
<[email protected]> scribbled:
> On Fri, 2009-07-10 at 15:19 -0600, Scott wrote:
>> Hello,
>> Here is my code on the perl side:
>>
>> my @wall_data = ();
>> while(my $wallref = $wallpostquery->fetchrow_hashref())
>> {
>> my %walldata;
>>
>> $walldata{WALL_SUBJECT} = $wallref{'SUBJECT'};
>> $walldata{WALL_DATE} = $wallref{'DATE'};
>> $walldata{WALL_POSTID} = $wallref{'POSTID'};
>> $walldata{WALL_MESSAGE} = $wallref{'MESSAGE'};
>>
>> push (@wall_data, \%walldata);
>
> # The above pushes the address of hash on the array, over and over
> again.
Which works because %walldata is localized to the while loop and is
re-allocated each time through the loop. Each loop iteration creates a new
hash variable, and the array @wall_data contains a list of distinct hash
references.
> push @wall_data, { %walldata };
> # This code pushes an anonymous hash containing the data on to the
> array.
Which also works, because a copy of the hash is saved, but it is not as
efficient.
In other words, the problem lies elsewhere. As far as I can tell the code is
fine as shown, but I don't have any experience with HTML::Template.
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/