RosettaCodeData/Task/Tokenize-a-string-with-escaping/Perl/tokenize-a-string-with-escaping-1.pl

7 lines
207 B
Perl
Raw Permalink Normal View History

2023-07-01 11:58:00 -04:00
sub tokenize {
my ($string, $sep, $esc) = (shift, quotemeta shift, quotemeta shift);
my @fields = split /$esc . (*SKIP)(*FAIL) | $sep/sx, $string, -1;
return map { s/$esc(.)/$1/gsr } @fields;
}