use strict;
use Data::Dumper;
my $table={};
while (my $line=<DATA>){
chomp $line;
my ($login,$name,$location,$info,$info2,$infoblah)=
split(",",$line);
if ( not defined($table->{$location})){
$table->{$location}=[];
}
push @{$table->{$location}},{name => $name,
login => $login,
info => $info,
info2 => $info2,
infoblah => $infoblah
};
}
print Dumper($table);
__END__
geroges,George Smart,West,bla,blah,blahbla
pams,Pam Smart,South,bla,blah,blahbla
dumas,Ed Dumas,West,bla,blah,blahbla
fink,George Fink,West,bla,blah,blahbla
gerogel,George Learch,North,bla,blah,blahbla
frankf,Frank Furter,West,bla,blah,blahbla
This will yeild
$VAR1 = {
'West' => [
{
'info' => 'bla',
'info2' => 'blah',
'infoblah' => 'blahbla',
'name' => 'George Smart',
'login' => 'geroges'
},
{
'info' => 'bla',
'info2' => 'blah',
'infoblah' => 'blahbla',
'name' => 'Ed Dumas',
'login' => 'dumas'
},
{
'info' => 'bla',
'info2' => 'blah',
'infoblah' => 'blahbla',
'name' => 'George Fink',
'login' => 'fink'
},
{
'info' => 'bla',
'info2' => 'blah',
'infoblah' => 'blahbla',
'name' => 'Frank Furter',
'login' => 'frankf'
}
],
'North' => [
{
'info' => 'bla',
'info2' => 'blah',
'infoblah' => 'blahbla',
'name' => 'George Learch',
'login' => 'gerogel'
}
],
'South' => [
{
'info' => 'bla',
'info2' => 'blah',
'infoblah' => 'blahbla',
'name' => 'Pam Smart',
'login' => 'pams'
}
]
};
when run.... hope this helps.
|