in reply to How would you rewrite this?

hmm. the fiddle with two 3 indexes mapping to contact_id makes it kinda ugly but if the order is not important...
my %stuff = ( agency_id => 0, advertiser => 1, campaign_id => 2, admin_contact_id => 3, tech_contact_id => 3, ); get_updates( $objects[$stuff{$_}], /(contact_id)$/ ? $1 : $_, # ugh $result_ref->{$_} ) for grep $result_ref->{$_}, keys %stuff;
but personally I would add return unless $_[2]; (or whatever you shifted $_[2] into) to get_updates to remove the requirement of checking $result_ref->{$_} every time.
   larryk                                          
perl -le "s,,reverse killer,e,y,rifle,lycra,,print"