タイトルの通り。
例えば「,(カンマ)」の場合。
CSVファイルの1行なんかを簡易的に「,(カンマ)」でsplitしたい場合、バックスラッシュなどでエスケープされている物はsplitの対象としたくなかったりする。
その場合はsplitで正規表現を用いて、以下のようにすれば良い。
例: sample.pl
#!/bin/perl
my $str = "hoge\\,fuga,piyo";
my @array = split(/(?<!\\),/, $str);
foreach (@array) {
print $_."\n";
}
exit;
出力結果: sample.pl
hoge\,fuga
piyo
実際に使う場合は考慮しなければならないことも多そうだが、割と応用は効く。