my @arr = split(/\),\(/, $str); #### #!/tools/bin/perl use strict; use warnings; my $str = '(1,"(text)", 123),(2,"(string)", 234),(...)'; my @arr = split(/\),\(/, $str); for(my $i = 0; $i<= $#arr; $i++){ print $arr[$i],"\n"; } exit; ##### OUTPUT #### (1,"(text)", 123 2,"(string)", 234 ...)