#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my $text = 'Vorrede bla bla Anfang <> Teil1 <> Teil2 <> Teil3 <> Ende Nachrede.';
my $retext = 'Anfang <> [^<]+ (<>) [^<]+ (<>) [^<]+ <> Ende';
print "text : [$text]\n",
"retext : [$retext]\n";
$retext =~ s~>>~#\\d+>>~g;
my $re = qr~$retext~;
print "retext : [$retext]\n",
"re : [$re]\n";
my @allmatch = $text =~ $re;
my ($m1, $m2, $m3) = ($`, $&, $');
print "allmatch: ", Dumper \@allmatch;
print "m1 : [$m1]\n",
"m2 : [$m2]\n",
"m2 : [$m3]\n";