I have a hash which is to be populated by reading data lines from a flat file. I am supposed to read fields 1-5 from the file and load them on to the hash such that fields 1-4 are going to be the hash key-set and field 5 is the hash value.
Field 5 is a monetary amount and is supposed to be summed for the same set of keys (fields 1-4).
This is how am doing the summation :
This is working absolutely fine.
But the only thing which bothers me is - to process a file of 10000 data lines my code is taking more than a minute. Is there any other way which you think would be easier or would cost me less ?
Thanks.
Last edited by radoulov; 01-13-2011 at 06:09 AM..
Reason: Code tags, please!
Dear All,
I want to get help for below case.
I have a file like this.
saman 1
gihan 2
saman 4
ravi 1
ravi 2
so i want to get the result,
saman 5
gihan 2
ravi 3 like this.
Pls help me. (17 Replies)
Hi Friends,
I have a pipe delimited file with 20 million records. I want to perform the sum of the 13 field, for that I am using the code below, but the result is in exponential form. I want the number to be in floating number, so that I can use the number to comparision.
Any help is highly... (3 Replies)
Hello All ,
I have a problem with summing of column by group
Input File -
COL_1,COL_2,COL_3,COL_4,COL_5,COL_6,COL_7,COL_8,COL_9,COL_10,COL_11
3010,21,1923D ,6,0,0.26,0,0.26,-0.26,1,200807
3010,21,192BI ,6,24558.97,1943.94,0,1943.94,22615.03,1,200807
3010,21,192BI... (8 Replies)
Can Someone explain me why even using Tie::IxHash I can not get the output data in the same order that it was inserted? See code below.
#!/usr/bin/perl
use warnings;
use Tie::IxHash;
use strict;
tie (my %programs, "Tie::IxHash");
while (my $line = <DATA>) {
chomp $line;
my(... (1 Reply)
Hi,
In Perl, is it possible to use a range of numbers with '..' as a key in a hash?
Something in like:
%hash = (
'768..1536' => '1G',
'1537..2560' => '2G'
);
That is, the range operation is evaluated, and all members of the range are... (3 Replies)
Hi,
I have an hashes of hash, where hash is dynamic, it can be n number of hash. i need to compare data_count values of all .
my %result (
$abc => {
'data_count' => '10',
'ID' => 'ABC122',
}
$def => {
'data_count' => '20',
'ID' => 'defASe',
... (1 Reply)
My issue is that the perl script (as I have done it so far) created empty branches when I try to check some branches on existence.
I am using multydimentional hashes: found it as the best way for information that I need to handle. Saing multidimentional I means hash of hashes ... So, I have
... (2 Replies)
Discussion started by: alex_5161
2 Replies
LEARN ABOUT CENTOS
tie::substrhash
Tie::SubstrHash(3pm) Perl Programmers Reference Guide Tie::SubstrHash(3pm)NAME
Tie::SubstrHash - Fixed-table-size, fixed-key-length hashing
SYNOPSIS
require Tie::SubstrHash;
tie %myhash, 'Tie::SubstrHash', $key_len, $value_len, $table_size;
DESCRIPTION
The Tie::SubstrHash package provides a hash-table-like interface to an array of determinate size, with constant key size and record size.
Upon tying a new hash to this package, the developer must specify the size of the keys that will be used, the size of the value fields that
the keys will index, and the size of the overall table (in terms of key-value pairs, not size in hard memory). These values will not change
for the duration of the tied hash. The newly-allocated hash table may now have data stored and retrieved. Efforts to store more than
$table_size elements will result in a fatal error, as will efforts to store a value not exactly $value_len characters in length, or
reference through a key not exactly $key_len characters in length. While these constraints may seem excessive, the result is a hash table
using much less internal memory than an equivalent freely-allocated hash table.
CAVEATS
Because the current implementation uses the table and key sizes for the hashing algorithm, there is no means by which to dynamically change
the value of any of the initialization parameters.
The hash does not support exists().
perl v5.16.3 2013-02-26 Tie::SubstrHash(3pm)