use strict; use warnings; use Text::Balanced qw( extract_bracketed ); my $text='(one dfd(two(three)four()(five)df())df)'; my $balanced = extract_bracketed( $text ); print "$balanced\n";