sub x($) { local($_) = @_; say "\n$_ ==>"; say for split /[^\\](?:\\\\)*\K:/, $_ } x $_ for ; __DATA__ 111111111:22222\:2222:333333333:4444444 111111111:22222\\:2222:333333333:4444444 111111111:22222\\\:2222:333333333:4444444 111111111:22222\\\\:2222:333333333:4444444 #### 111111111:22222\:2222:333333333:4444444 ==> 111111111 22222\:2222 333333333 4444444 111111111:22222\\:2222:333333333:4444444 ==> 111111111 22222\\ 2222 333333333 4444444 111111111:22222\\\:2222:333333333:4444444 ==> 111111111 22222\\\:2222 333333333 4444444 111111111:22222\\\\:2222:333333333:4444444 ==> 111111111 22222\\\\ 2222 333333333 4444444