sub balanced_delimiters { local $_ = shift; my %sub; @sub{@_} = ("(",")","\\"); my $LRS=join'|',map quotemeta,@_; {local $^W=0;s/($LRS|.)/$sub{$1}/gs; eval{m/$_/} } return !$@; }