Вы неправильно поняли, что делает traits => ['Array']
. Это позволяет вам настроить handles
методы. Он не позволяет вам вызывать методы типа push
напрямую. Для этого вам нужно use Moose::Autobox
(и вам не нужна черта Array).
Или вы можете сделать:
has 'tid_stack' => (
traits => ['Array'],
is => 'rw',
isa => 'ArrayRef[Str]',
default => sub { [] },
handles => {
push_tid => 'push',
},
);
...
$self->push_tid( get_hrtid( $template ) );