use strict; use warnings; my %active_modules = ( 'clouds' => sub { CloudUpdate::cloud_update() }, 'volcanoes' => sub { VolcanoXML::process_volcano_data() }, ); process_modules(\%active_modules); sub process_modules { my ($active_modules_ref) = @_; # Accept %active_modules as a reference print join "\n", keys %$active_modules_ref; }