in reply to switch statement for subroutines?

ar0n is perfectly correct, however there's a neat Perl-ism in your example.

&$_ for @do_something;

This, of course, assumes that all the strings in @do_something have functions associated with them. Otherwise, Perl will die and complain.

However, you can get past that by doing something like:

my $foo = Some::Class->new; $foo->$_ if $foo->can($_) for @do_something;
*grins* A really neat thing about Perl OO.