use Regexp::Common qw /balanced/;
my $ttt = '$sub24835->($sub24839->(
$sub24828->($sub24840->("( a1"),$sub24841->(" a1 ) ")),
$sub24830->($sub24853->("( a2 "),$sub24854->(" a2 )")),$sub24828->($su
+b24840->("( a1"),$sub24841->(" a1 ) ")),$sub24842->($sub24843->("0"),
+$sub24830->($sub24853->("( a2 "),$sub24854->(" a2 )")),$sub24828->($s
+ub24840->("( a1"),$sub24841->(" a1 ) "))),$sub24830->($sub24853->("(
+a2 "),$sub24854->(" a2 )")),$sub24828->($sub24840->("( a1"),$sub24841
+->(" a1 ) ")),$sub24832->($sub24855->("1"),$sub24856->($sub24857->("|
+ a3"),$sub24859->("a3 |")),$sub24858->("a3")),$sub24849->($sub24850->
+("1"),$sub24830->($sub24853->("( a2 "),$sub24854->(" a2 )")),$sub2483
+2->($sub24855->("1"),$sub24856->($sub24857->("| a3"),$sub24859->("a3
+|")),$sub24858->("a3")))))';
my @ttt = $ttt =~ /(\$sub\d+->$RE{balanced}{-parens=>'()'}).*?\1/sg;
print scalar @ttt, "\n";
print join("\n", @ttt);
|