At 10:14 PM -0700 10/8/09, Soham Das wrote:
Hello All, I am doing some file reading operation, and parsing the data(its a CSV file) with a hash reference and then intend to store it in a record. something like: loop: until file ends; $hashref->{'A'}=$filehandle->{'Action'}; $hashref->{'B'}= $filehandle->{'Name'}; $hashref->{'C'}= $filehandle->{'System'}; $hashref->{'D'}=($filehandle->{'Price'}); $recordref->{$hashref->{'B'}}= $hashref; loop : ends
You are better off including some actual Perl code, including some sample data.
Here Action, Name,System,price are the CSV headers. Now, when the first line is read, the details are parsed and stored in the $recordref as a hash reference. Now when the loop iterates, and goes to the second line. The first line contents are lost. Because the hash reference now points to the newer data. How do I overcome this? More importantly do we have a push equivalent for hash of hashes?
No. Unless each record has a unique key, you are better off using an array of hashes, rather than a hash of hashes. Of course, you could use the line number as a unique key, but an array would be more efficient.
-- Jim Gibson j...@gibson.org -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/