This argument extrapolated leads to "variables considered harmful" and is total bollocks. Indeed it can be problematic when you can assign arbitrary values to variables, with no validation whatsoever. That's also the basis of many programming languages, and programming would be very impractical without this.
An object property is just a variable attached to the object. It's insane to treat it much differently.
While value validation is a useful addition, it's not necessary. Many a time value validation means you're limited by the API designer's creativity, and gets in the way.
Until we have Perl 6, I prefer to write code that isn't picky. Having tolerant code is not so bad as it looks, especially if you consider that making something non-picky afterwards is hard in Perl 5.