INIT::thisvar; INIT::thatvar #### INIT::getInitvars()->{thisvar}; INIT::getInitvars()->{thatvar}; #### my $initHash = INIT::getInitvars() $initHash->{thisvar}; $initHash->{thatvar}; #### package INIT; use Exporter; use vars qw( %static_1 %static_2 ); @ISA = qw(Exporter); @EXPORT = qw(&getInitvars); @EXPORT_OK = qw(%static_1 %static_2); %static_1 = ( this => "that", ); %static_2 = ( that => "this", ); sub getInitvars { my $result = {}; # push the static stuff push @$result, %static_1; push @$result, %static_2; # create the dynamic stuff push @result, _dynamicStuff(); $result; } sub _dynamicStuff { # compute stuff and return a hash }