use strict; use warnings; my $test1 = sub { print "test1...done\n"; }; my $test2 = sub { print "test2...done\n"; }; my $testlist = { 1=>$test1, 2=>$test2 }; foreach (keys %$testlist) { print ("dear user test $_ is currently running\n"); $testlist->{$_}(); }