my $plugins = { foo => sub { our $version = '0.001'; ...do some tom-foo-lery... }, foo_bar => sub { our $version = '0.001'; if (defined $plugins->{'foo'}) { if ($plugins->{'foo'}->version ge '0.001') { ... do some foo-bar stuff ... my $var = $plugins->{'foo'}->("hello"); ... do some more foo-bar stuff ... return "result of foo-bar"; } return 'foo_bar error; please update foo'; } return 'foo_bar error; please install foo'; } };