package President { use strict; use warnings; use Class::Tiny qw(name hello); use feature qw(say); say __PACKAGE__; 1; } package Fool { use strict; use warnings; use parent qw (President); use Class::Tiny qw( steve ivanka melania barron ); use feature qw (say); say __PACKAGE__; sub old { shift->SUPER::new(@_) } sub twitter { shift->SUPER::hello(@_) } 1; } #!/usr/bin/env perl use strict; use warnings; use feature qw(say); use Fool; my $president = Fool->old( { name => q(Donald), hello => q(I'm a very stable genius!), steve => q(fired), melania => q(bored), ivanka => q(dumb as bread), barron => q(poor boy), } ); say $0; say __PACKAGE__; say q(I'm ), $president->name; say q(Steve is ), $president->steve; say q(Melania is ), $president->melania; say q(Ivanka is ), $president->ivanka; say q(Barron is a ), $president->barron; say $president->twitter; say $president->twitter(q(Too many shithole countries in the world!)); say $president->twitter(q(I think i'll go to Mar-a-Lago)); __END__