They are all problematic, but do they fall into the "never use this feature" category? (Granted, you're not someone I'd expect to put anything there at all.)
They are wrong because you have only one instance variable.
Everyone would think it's odd if subroutines can have only
one variable - it would still be workable of course, you'd
just use a hash and put all your variables in that. Perl would
be mocked at for having such silly subroutines, and it would
have been fixed years ago.
Why people accept such sillyness with objects, I don't know.
But then, people accept Microsoft Windows as well.
Actualy, subroutines in Perl do only have a single instance variable. In fact, it isn't even a variable. It's a list that gets associated with @_.
Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).