I can't speak to the OP's reasons for liking the type of encapsulation offered by Class::Std, but in my personal (professional) experience the threat against proper encapsulation (and the consequences this has on code maintainability) doesn't come from the sophisticated and determined Perl hacker but rather the cube neighbor or remote colleague (or even myself) who is either used to dealing with native Perl objects or is having a day off. In that context, the protection offered by InsideOut objects is good enough. It's akin to locking your car in the parking lot. It makes clear you don't wish anybody to get in.