in reply to Re^2: Easy Split
in thread Easy Split
If I'm understanding your requirements correctly, you could use a negative-lookbehind assertion like this:
use strict; use warnings; my $string = '111111111:22222\:2222:333333333:4444444'; my @split = split(/(?<!\\):/, $string); print "Results:\n"; map { print "$_\n" } @split;
Which produces this:
You'd still need to handle the escaped '\', but the above code at least doesn't split on ':' if it's preceded by '\'. Of course, that doesn't take into account the situation where a backslash '\' is really the second of a pair of backslashes, as in:Results: 111111111 22222\:2222 333333333 4444444
my $string = 'AAA:BBB:CCC\\:CCC:DDD";
... so it's really only a simplistic, partial solution.
|
|---|