our @Address=qw(type firstname lastname streetaddress city zip); our @Phone=qw(type name phonenumber); our %Types = ( "addr" => \@Address, "phone" => \@Phone ); our %Stuff; sub ReadStuff{ @Stuff{@{$Types{$_[0]}}} = @_; #...do something useful... }