【发布时间】:2011-05-30 07:39:54
【问题描述】:
我写了一个小脚本来使用split(),
use strict;
use warnings;
use Data::Dumper;
my $fh = \*DATA;
while(my $line = <$fh>)
{
my @values = split(':', $line);
foreach my $val (@values) {
print "$val\n";
}
}
__DATA__
1 : Hello World String10 : NO : A1B2,B3
11 : Hello World String11 : YES : A11B2,B3,B14,B25
A1B2,B3 和A11B2,B3 是只有一个字母A 和一个或两个数字2、3、14、25 等的字符形式,然后与只有一个字母B 连接和一两个数字,例如2、3、14、25。等等
现在这样输出
1
Hello World String10
NO
A1B2,B3
11
Hello World String11
YES
A11B2,B3,B14,B25
如何保存@values 的最后一个数组成员并进行连接并输出为这样。
1
Hello World String1
NO
A1B2,A1B3
11
Hello World String11
YES
A11B2,A11B3,A11B14,A11B25
感谢您的 cmets 和回复。
[更新]
我的输出需要遵循规则。
A 和一个或两个数字并由B 连接,一个或两个数字由, 分隔
【问题讨论】:
-
您给出的输出与第二种情况下的输入完全不相关。你真正追求的是什么?
标签: regex arrays perl split concatenation