my $thing = OverloadingClass->new(); my $subref = overload::Method($thing, 'eq'); #### package MyOverLoaded; use overload 'eq' => \&my_equal; # just an example overloaded implementation of eq sub my_equal { my $self = shift; my $comparator = shift; return length($$self) == length($comparator); } sub new { my $class = shift; my $thing = shift; bless(\$thing, $class); } package OverLoadedSubClass; use base qw(MyOverLoaded); package main; use Devel::Peek qw(CvGV); my $thing = OverLoadedSubClass->new("It's my birthday!"); my $sub = overload::Method($thing, 'eq'); print CvGV($sub); # prints "*MyOverLoaded::my_equal"