use strict; use warnings; my @FuncList = qw(TestSub1 TestSub2); my %JumpTbl = map { $_ => $_ } @FuncList; { no strict 'refs'; $JumpTbl{'TestSub2'}(); $FuncList[0](); } $JumpTbl{'TestSub1'}(); exit; sub TestSub1 { print "TestSub1\n"; } sub TestSub2 { print "TestSub2\n"; } #### TestSub2 TestSub1 Can't use string ("TestSub1") as a subroutine ref while "strict refs" in use at ./triv.pl line 16.