in reply to Dynamic loading of object-oriented plugins
It's a little more paranoid, but I prefer your original version.sub register_plugin { my $class = shift; if (defined(my $constructor = UNIVERSAL::can($class, 'new'))) { push @callbacks, sub { $constructor->($class) }; } } foreach my $callback (@callbacks) { my $obj = $callback->(); $obj->hello(); }
|
|---|