#!/usr/bin/perl -w use strict; use lib "./plugins"; # we place plugins here my @plugins = ( 'nullPlugin', 'checkPlugin', 'printPlugin' ); my @plugFuncs; foreach my $plugin (@plugins){ eval "use $plugin; $plugin\:\:init(); push \@plugFuncs, \\\&$plugin\:\:worker; "; } # Point of use... my $res = 0; foreach my $plugFunc (@plugFuncs){ last if $res == 1; $res = &{ $plugFunc }($data); }