in reply to split on unescaped delimiters

Instead of splitting, you can also extract what you want:
my @parts = $string =~ /([^:\\]*(?:\\.[^:\\]*)*)(?(?{length $^N})|(?!) +)/g;

Abigail