Wow - that's really the exact same question, only better phrased :-)
Thanks! Interesting discussion. I think you might use them for example to distinguish between types of methods, e.g.:
sub set_name : Interface {
croak "Not implemented!";
}
sub get_name : Interface {
croak "Not implemented!";
}
So that you can query whether a method call you are about to make is implemented by the right class - and not by SUPER:: in an interface - without using eval { ... } blocks.
|