with each of them only producing the error you quoted when $pack is a reference and is not blessed. I don't have a ton of versions of Perl handy and these results were with Perl 5.6.0. Using Perl 5.004_01, I got results too weird to mention.
So I suspect this is a Perl 5.005 bug you are experiencing.