eepvesity has asked for the wisdom of the Perl Monks concerning the following question:
I am a bit stumped.
I have two files. Each file has several columns delimited by single space. There is a leading whitespace. I am only interested in columns 1 and 2. Column 1 is made up of names while column 2 is cholesterol level.
Some names are in both files, so I only want to focus on those names in both.
Knowing this, I have decided that a hash of arrays is an appropriate data structure, so my data is organized as:
Patient Cholesterol level John Kay 151 128 Sally Gi 174 145
There are other patients.
Using the split function, I can designate columns 1 and 2 as various variables, so column 1 = $patient (key) and column two = $level (value) for %health.
I can push $level into an array like so: push (@{($health{$patient}}, $level); However, what if I want to do something with each cholesterol list for each patient? For example, if I wanted to list the levels from lowest to highest, would I use a loop in which I can write: @levelssorted = sort {$a <=> $b} @{($health{$patient}); and the level numbers for each patient would then be from lowest to highest?
Any help is welcome. Thank you.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Push Function and Hash
by tangent (Parson) on Mar 28, 2013 at 01:32 UTC | |
by eepvesity (Initiate) on Mar 28, 2013 at 15:04 UTC |