The Code:

use strict;
use warnings;
use Tie::Handle::CSV;

my $qbook = Tie::Handle::CSV->new('C:\Documents and Settings\Soham Das\Desktop\Quotes.csv',header=>1);
my $tradebook = Tie::Handle::CSV->new('C:\Documents and Settings\Soham Das\Desktop\Transactions.csv',header=>1);

my $dailytrade={};
my $portfolio={};
my $singletrade={};
while(my $mktdates =<$qbook>)
while(my $trades=<$tradebook>)
if($trades->{'Date'} eq $mktdates->{'Date'})
$singletrade->{'Scrip'}= $trades->{'Scrip'};
$singletrade->{'Shares'}= $trades->{'Shares'};

$dailytrade->{$singletrade->{'Scrip'}}= $singletrade;
# print $dailytrade->{$singletrade->{'Scrip'}}->{'Price'},"\n";
#Update the portfolio

close $qbook ;
close $tradebook;


P.S: apologies for the previous mail being a blank mail, it was a mistake

From: Soham Das <sohamdas@yahoo.co.in>
To: beginners@perl.org
Sent: Fri, 9 October, 2009 11:02:51 AM
Subject: Re: Building a record on the fly via hash of hashes

The code:

From: Jim Gibson <jimsgibson@gmail.com>
To: beginners@perl.org
Sent: Fri, 9 October, 2009 11:00:55 AM
Subject: Re: Building a record on the fly via hash of hashes
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

-- To unsubscribe, e-mail: beginners-unsubscribe@perl.org
For additional commands, e-mail: beginners-help@perl.org

Now, send attachments up to 25MB with Yahoo! India Mail. Learn how.

Send free SMS to your Friends on Mobile from your Yahoo! Messenger. Download Now! http://messenger.yahoo.com/download.php

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 4 of 10 | next ›
Discussion Overview
groupbeginners @
postedOct 9, '09 at 5:14a
activeOct 9, '09 at 12:09p



site design / logo © 2021 Grokbase