package MyClass; #... sub TieArray { my( $me, $av )= @_; tie @$av, ref($me), $me; } sub Class::TIEARRAY { return $_[1]; } package main; my $obj= MyClass->new( ... ); my @array; $obj->TieArray(\@array);