in reply to assigning to a hash via split

Sure. Here's some short code for you:
while (<IN>) { chomp; my ($name) = /([^:]+)/; @{ $users{$name} }{ @fields } = split /:/; }
I basically create the hash reference and assign to it all at once.
update: down with temporary variables, up with one-liners.
chomp(@{$users{(/([^:]+)/)[0]}}{@fields} = split /:/) while <IN>;


japhy -- Perl and Regex Hacker