#!/usr/bin/perl -l use strict; use warnings; my %dispatch=( test1 => sub { print 'test1'; }, test2 => sub { print 'test2'; } ); for(1,2) { $dispatch{"test$_"}->(); } __END__