my @array = [ 'TEXT[12]|SubText' , 'TEXT2|subText2' , 'TEXT3[34]' ] ;
我把这个数组看成另一个数组,比如
('TEXT','12','SubText','TEXT2','SubText2','TEXT3','34')
我真的不知道我用什么额外的模块?
答案 0 :(得分:4)
您是在[
或]
还是|
分割数组元素?如果是,你可以做;
my @array = ('TEXT[12]|SubText' , 'TEXT2|subText2' , 'TEXT3[34]');
my @result;
foreach(@array) {
push @result,split/[\[\]\|]+/;
}
答案 1 :(得分:3)
这可能不符合你的想法。它创建一个匿名数组,其元素为'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.
}
编辑:如果这对您没有任何意义,我建议您阅读references和regular expressions。