my($ip,$name,$proto,$email) =~ /^(\S*) (\S*) (\S*) (\S*)$/; #### $userdata{$name}{$ip}{$proto}{$email}++; #### @order = qw(ip name email proto) #### $userdata{$order[0]}{$order[1]}{$order[2]}{$[order[3]}++; # which I want to result in ... $userdata{$ip}{$name}{$email}{$proto}++;