#!/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";