cat users.txt aanis (Anis Ahmed A) accessed 2007/10/04 aaputin (Artem Aputin) accessed 2007/10/04 aazarov (Alexey Azarov) accessed 2007/10/04 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my %users; open my $fh, '<', 'users.txt' or die "$!\n"; while (my $line = <$fh>) { chomp($line); my ($user, $fullname, $lastaccess) = ($line =~ m/([a-z]+).*?\((.*?)\).*?([\d\/]+)$/); $users{$user}{fullname} = $fullname; $users{$user}{lastaccess} = $lastaccess; } print Dumper(\%users);