perl の split で、パターンも含めた配列を返す #
例えば、
my @tmps = split(/,/, 'hello, world');
の場合は
@tmps = ('hello',' world');
だが、
my @tmps = split(/(,)/, 'hello, world');
の場合は
@tmps = ('hello',',',' world');
となり、「,」も含まれる。
どういうときに便利かというと、
for my $str ( split(/({{|}})/, 'aa{{plugin arg}}bb') ) {
if ($str eq '{{') {
}
elsif ($str eq '}}') {
}
else {
}
}
というような感じで使う。
。。。というようなことに、ruby の Regexp.union 関連を見ててたどりついたわけだが、
perldoc -f split
するとちゃんと書いてある。やっぱり基本は重要。