#!/path/to/perl # This snippet *DOES NOT* work as expected use strict; my $toLoad = { 'CGI' => '1', 'Time::HiRes' => 'gettimeofday tv_interval', }; while ( my($module, $args) = each %$toLoad) { my $str = "use $module"; $str .= 'qw(' . $args . ')' if $args ne '1'; eval $str; # also tried eval {}, eval "", etc... } # END while each %$toLoad my $now = [gettimeofday]; sleep 2; # The below produces Elapsed: 0, print "Elapsed: ", tv_interval($now, [gettimeofday]), "\n";