in reply to HoH question

Try this:
while(<DATA>){ chomp; my ($user, $email, $result) = split /\s+/, $_, 3; $hash{$user}{email} = $email; $hash{$user}{result} = $result; }
(assumes that only the third column in the data will contain whitespace)

Update: as has been pointed out below, this solution won't work because the values in the first column of the data are not unique. Sorry, I missed that :(

--Darren