Multiple inheritance: comparing Java, PHP, Ruby, and Perl's Moose

When you have different objects needing to share some method or group of properties, languages try to solve this in different ways. Usually called roles or traits, these can be attached to objects when needed, without creating whole new classes. I’ve been following Moose/Moo in Perl for a while, and thought this was a nice writeup.