use CLOS; class Bake { method preheat { say "preheating"; } method cook { say "cooking"; } method rest { say "resting"; } } class Cook is Bake { method preheat is before { say "...about to preheat"; } method rest is after { say "...resting done"; } } my $cook = Cook.new; $cook.preheat; say "----"; $cook.cook; say "----"; $cook.rest;