|The stupid question is the question not asked|
Re: Draft - Writng pluggable programs with perl.by chromatic (Archbishop)
|on Jun 13, 2004 at 17:52 UTC||Need Help??|
A few small nits. Be careful with this:
As your next example demonstrates without explaning, perl evaluates require EXPR (where EXPR is not a bareword) to requiring a filename, not a module name.
Also this code can be wrong in certain cases:
Consider if I'd implemented my own can() method:
I realize that this is a silly example, but there are very valid reasons to override can(). I'd rather write your snippet as:
If you document that init() should always return true, you can put a guard after that eval to see which plugins initialized successfully.
Alternately, if you want to see that an object you've somehow created or received performs specific behaviors, you could use Class::Roles.