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