in reply to VB-ish behaviour byVar or byRef of objects in Perl
This behavior is quite common and it's implemented and used quite heavily in (current versions of...) Perl. See perldoc perlref et al.
One of the nice concepts that's used a lot in these languages is this one: the thing that is passed “is a” reference. In other words, it no longer matters how you pass it... rather, the thing that is passed is a magical thing that will give access to whatever it is “referencing.” It's a subtle distinction but very useful.
Like the other languages, Perl automagically provides you with reference-counted objects that are garbage collected for you.