Это, вероятно, не делает то, что вы думаете, что делает.Он создает анонимный массив с элементами 'TEXT [12] | SubText', 'TEXT2 | subText2', 'TEXT3 [34]', а затем назначает его в качестве первого элемента @array!
Но еслиэто это то, что вы хотите сделать, тогда вам просто нужно добавить дополнительный шаг разыменования:
my @array = [ 'TEXT[12]|SubText' , 'TEXT2|subText2' , 'TEXT3[34]' ] ;
for my $item (@array) {
my @inner_elem_array = map { /(\w+)/g } @$item;
#Do stuff with the new array here.
}
РЕДАКТИРОВАТЬ: Если это все еще не имеет смысла для вас, я 'рекомендую прочитать о ссылках и регулярных выражениях .