Just want to extend what you said in your last paragragh.
I think it is useful and helpful to extract the concept of "interface" out from the concept of "class". Although Perl does not clearly support the concept of interface, not to say pure interface, but there are lots of evidence that, one can actually mimic it to a certain level, and Perl is doing this either consciously or subconsciously. (It is simply impossible for you not to be influenced by the world around you, especially those beautiful things)
A very good and typical example is Tie::Hash. When you extend Tie::Hash, Perl does not care how you implement it, what data structure you use etc., as long as you implement certain interface methods, like DELETE, FETCH etc., everything would be perfect as far as Perl concerns.
I would expect those conceptual stuff would become much more clear in Perl 6.
Update: aspen, You can regard my reply as a discussion with John, about some interesting points he brought up. It is not directly related to your post, and I didn't judge what you posted. ;-) have a Happy New Year.