use strict;
my $str = 'The time will come when, with elation, you will greet yourself arriving at your own door, in your own mirror, and each will smile at the other\'s welcome, and say, sit here. Eat. You will love again the stranger who was your self. Give wine. Give bread. Give back your heart to itself, to the stranger who has loved you
all your life, whom you ignored for another, who knows you by heart. Take down the love letters from the bookshelf,
the photographs, the desperate notes, peel your own image from the mirror. Sit. Feast on your life.';
my $regex = qr/(?<=\n\n).+(?=\n\n)/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