sub getPeople { my $file = 'list.txt'; my %people; open( LIST, "< $file" ) or die "Can't open $file : $!"; while (my $row = ) { my ($id, $first, $last, $age) = (split /[\s=]/, $row)[1, 3, 5, 7]; $people{$id} = { id => $id, first => $first, last => $last, age => $age }; } print Dumper(\$people); print "The person with ID 3 is $people{3}{first} $people{3}{last}\n"; close LIST; }