use Text::Balanced qw ( extract_delimited extract_bracketed extract_quotelike extract_codeblock extract_variable extract_tagged extract_multiple gen_delimited_pat gen_extract_tagged ); my $source = 'Hello World, #name#!'; my ($cfml_expr_match, $next); #eval { $cfml_expr_match = gen_delimited_pat(q{#},q{#}); $next = extract_delimited($source, '#', '', '#'); #}; if ($@) { print "Hmm.. got this: $@\n"; } # some code here... print "\n";