in reply to How to read data file into an array of hashes
it's urgent too....Then I hope you're an Evelyn Wood graduate: perlpacktut
The following assumes unique surnames. This gets your fixed-width information into an unsorted Perl data structure (hash-of-hashes). sort it as you see fit:
use strict; use warnings; use Data::Dumper; my %clients; while (<DATA>) { next if /^Surname/; next if /^-/; my ($surname, $firstname, $town) = unpack 'A13A16A20', $_; $clients{$surname} = {first => $firstname, town => $town}; } print Dumper(\%clients); __DATA__ Surname L20, First Name L20, Town L20 -------------------------------------------------- Chaplin Charlie Basel Estevez Emilio Santa Manica Sarte Jean Paul Montmarte Rikard Frank Amsterdam Rodin Paul Montmarte
prints:
$VAR1 = { 'Rodin' => { 'first' => 'Paul', 'town' => 'Montmarte' }, 'Rikard' => { 'first' => 'Frank', 'town' => 'Amsterdam' }, 'Chaplin' => { 'first' => 'Charlie', 'town' => 'Basel' }, 'Sarte' => { 'first' => 'Jean Paul', 'town' => 'Montmarte' }, 'Estevez' => { 'first' => 'Emilio Santa', 'town' => 'Manica' } };
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How to read data file into an array of hashes
by fseng (Novice) on Jun 23, 2009 at 02:20 UTC | |
by targetsmart (Curate) on Jun 23, 2009 at 06:29 UTC |