use strict;
my $str = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque aliquam efficitur neque, at fringilla nunc condimentum quis. Aenean eros nibh, suscipit nec luctus nec, gravida sit amet arcu. Integer cursus tempor leo in pharetra. Ut accumsan hendrerit venenatis. Etiam tristique sed ipsum et pellentesque. <title>foo bar</title> In vitae turpis felis. Duis laoreet elit a diam tempor, nec pellentesque dui bibendum. Quisque pretium nulla vel venenatis varius. Nulla dapibus, augue sit amet ullamcorper suscipit, tortor nunc viverra tortor, ac ultricies ligula tellus vitae nibh. Fusce dapibus quis ante ut facilisis. Suspendisse laoreet pellentesque erat, ut hendrerit orci facilisis a. Suspendisse molestie vestibulum dolor, eu molestie nibh semper ut.
';
my $regex = qr/<title>.+<\/title>/p;
if ( $str =~ /$regex/g ) {
print "Whole match is ${^MATCH} and its start/end positions can be obtained via \$-[0] and \$+[0]\n";
# print "Capture Group 1 is $1 and its start/end positions can be obtained via \$-[1] and \$+[1]\n";
# print "Capture Group 2 is $2 ... and so on\n";
}
# ${^POSTMATCH} and ${^PREMATCH} are also available with the use of '/p'
# Named capture groups can be called via $+{name}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Perl, please visit: http://perldoc.perl.org/perlre.html