#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my $text = "Vorrede bla bla Anfang <> Teil1 <> Teil2 <> Teil3 <> Ende Nachrede.";
my $re = qr~Anfang <> [^<]+ (<>) [^<]+ (<>) [^<]+ <> Ende~;
print "text : [$text]\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";