use strict; use warnings; use 5.010; {package Dog; sub new { my $class = shift; bless {}, $class; } sub DESTROY { my $self = shift; say "destroy"; $self->SUPER::DESTROY; } } my $d = Dog->new; --output:-- destroy (in cleanup) Can't locate object method "DESTROY" via package "Dog" at perl2.pl line 16. #### C:\Users\Me\Documents>perl perl2.pl