我想将表单的字符串转换为1,2,25-27,4,8,14,7-10
实际值列表:1,2,4,7,8,9,10,14,25,26,27
。
我搜索并没有发现任何可以进行此类扩展的内容。任何人都知道轻松实现此目的的方法吗?
my $s = "1,2,25-27,4,8,14,7-10";
my %seen;
my @arr =
sort { $a <=> $b }
grep { !$seen{$_}++ }
map {
my @r = split /-/;
@r>1 ? ($r[0] .. $r[1]) : @r;
}
split /,/, $s;
print "@arr\n";
输出
1 2 4 7 8 9 10 14 25 26 27
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句