モダンなCatalystコンポーネントを書くときは

Catalystがモダンかどうかは置いておいてCatalystコンポーネントを書く時のお作法として

大昔は

...
use base qw(Catalyst::Action);
use NEXT;

sub execute {
    my $self = shift;
    $self->NEXT::execute( @_ );
...

ちょっと前は

...
use base qw(Catalyst::Action);
use Class::C3;

sub execute {
    my $self = shift;
    $self->next::method( @_ );
...

モダンなのは

...
use base qw(Catalyst::Action);
use MRO::Compat;

sub execute {
    my $self = shift;
    $self->next::method( @_ );
...

未来的には

...
extends qw(Catalyst::Action);

override 'execute' => sub {
    my $self = shift;
    super();
...

こんな感じ?

参考