@Address=qw(type firstname lastname streetaddress city zip); @Phone=qw(type name phonenumber); %Stuff; sub ReadStuff{ if ($@_[0]='addr') {%Stuff(@Address)=@_}; elsif ($@_[0]='phone'){%Stuff(@Phone)=@_}; ...do something useful... } @data=(addr, bob, smith, 1234 main st, anytown, 20500); &ReadStuff(@data); @data=(phone, bob, smith, 212-555-1212) &ReadStuff(@data)