Lets your class/object say it works like something elsehttp://search.cpan.org/dist/asa
Perl 5 doesn't natively support Java-style interfaces, and it doesn't
support Perl 6 style roles either.
You can get both of these things in half a dozen different ways via
various CPAN modules, but they usually require that you buy into "their
way" of implementing your code.
Other have turned to "duck typing".
This is, for the most part, a fairly naive check that says "can you do
this method", under the "if it looks like a duck, and quacks like a duck,
then it must be a duck".