No it doesn't. The string you give contains "),(" three times, and my regex splits it at all three.
use Test::More tests => 5;
my $string = '(1,"(text),(text)", 123),(2,"(string)", 234),(...)';
my @parts = split m{ [)] [,] [(] }x, $string;
# Prove that the split worked properly...
# Firstly, joining the parts back with '),(' recreates the original st
+ring.
my $joined = join '),(', @parts;
is($joined, $string);
# Secondly, none of the individual parts contain '),('
unlike($_, qr{\Q),(\E}) for @parts;
done_testing();
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
|