##
use vars qw(%user_methods);
%user_methods = (
handle_foo => \&handle_foo,
handle_bar => \&handle_bar,
handle_baz => \&do_handle_baz,
);
...
sub handle {
my $data = shift;
for my $filter (@_) {
if (exists $user_methods{ $filter }) {
$data = $user_methods{ $filter }->($data);
} else {
die "Unknown filter method '$filter'";
};
};
};
##
##
for my $i (0..1) {