{ package Container; use Moose; has e_00_00 => ( is => 'ro', isa => 'ArrayRef[Int]', default => sub { [1,2] }, auto_deref => 1 ); has e_00_01 => ( is => 'ro', isa => 'ArrayRef[Int]', default => sub { [3,4] }, auto_deref => 1 ); has e_01_00 => ( is => 'ro', isa => 'ArrayRef[Int]', default => sub { [5,6] }, auto_deref => 1 ); has e_01_01 => ( is => 'ro', isa => 'ArrayRef[Int]', default => sub { [7,8] }, auto_deref => 1 ); has e_02_00 => ( is => 'ro', isa => 'ArrayRef[Int]', default => sub { [9,10] }, auto_deref => 1 ); has e_02_01 => ( is => 'ro', isa => 'ArrayRef[Int]', default => sub { [11,12] }, auto_deref => 1 ); } my $c = Container->new; print +($c->e_02_00)[0];