Ваш вопрос помечен как Moose, так что вот как вы делаете то, что вы хотите с модификатором метода . Модификатор after
запускается после подпрограммы, но ее возвращаемое значение игнорируется.
package Foo;
use Moose;
sub frobnicate {
my $self = shift;
# ...
return 123;
}
after frobnicate => sub {
my ($self, $rv) = @_;
$self->barnicate;
};
1;
Теперь, когда frobnicate
будет сделано, будет вызываться barnicate
.