my %users; foreach my $line (<$file>) { my ($email, $ip) = parse_line($line); $users{$email}{$ip}++; } #### %users = ( 'joe@example.com' => { '192.168.10.24' => 2, '192.168.10.28' => 1 } );