use B 'svref_2object'; sub name_from_coderef { return svref_2object($_[0])->GV->NAME; } my @tests = (\&test1,\&test2,\&test3,\&test4); # 20 odd refs here my $test = 1; foreach my $subref (@tests) { warn sprintf "Test # %s\n", name_from_coderef($subref); foreach my $size (1..1000) { $subref->($arg1,$arg2,$size); } }