Используйте параметр auto_deref :
has my_field => (
is => 'ro', isa => 'ArrayRef[Str]',
auto_deref => 1,
# rest of options...
);
Обратите внимание, что иногда вы не получите массив при использовании метода reader, в зависимости от скалярного или списка контекста выражения. Некоторое время назад я столкнулся с ситуацией, когда мне пришлось явно приводить контекст массива к выражению, чтобы заставить разыменование работать ... Я добавлю пример, если смогу его найти.