Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Writing Program With Hashes and Loops For Files With Data in Columns

by arnaud99 (Beadle)
on Mar 05, 2013 at 08:55 UTC ( #1021773=note: print w/ replies, xml ) Need Help??


in reply to Writing Program With Hashes and Loops For Files With Data in Columns

Hi,

I have looked at the code and I have written a program that could be used as a starting point for what you are trying to achieve.

This program does not cover all of what you are trying to do, it simply goes up to splitting the milcar file and loading a hash. I hope this gives you an idea of some perl's best practises (or what I would consider best practises), and help you complete your task.

Kind regards.

Arnaud
use strict; # Please use these 2 pragmas use warnings; use autodie; #this one comes handy as well if (@ARGV !=4 ) { die "Ooops etc.."; } # a more descriptive name for your vars, otherwise you may as well # use $ARV[0], $ARGV[1] etc... my ($milcar_filename, $check_file, $matches_file, $three_column_file) += @ARGV; #use the 3 args version of open; open my $fh, '<', $milcar_filename; #prg will 'die' if file error due to the autodie pragm +a #store some values into a hash my %hash; while my $line(<$fh>) { chomp $line; # I assume here that the milcar file is pipe separated # but replace the separator with the separaor of your choice my ($last_name, $first_name, $integer1, $word1, $integer2, $word2, $real_number) = split /\|/, $line; #build a key, see if the key already exists, and # update with the latest int2 value, if larger. my $key = $last_name . '_' . $first_name; if (exists $hash{$key} ) { if ($integer2 > $hash{key} ) { $hash{$key} = $integer2; } } else { $hash{$key} = $integer2; } }


Comment on Re: Writing Program With Hashes and Loops For Files With Data in Columns
Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1021773]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (4)
As of 2014-11-29 09:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My preferred Perl binaries come from:














    Results (204 votes), past polls