#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @parts; my $index = 0; open my $fh, '<', 'test.txt' or die $!; while ( my $line = <$fh> ) { if ( $line =~ /Wichtiger Teil\s+(\d+)/ ) { $index = $1; } if ( $line =~ /^ =+ \s Wichtiger \s+ Teil/x .. $line =~ /^=+ \s+ Ende \s+ =+/x ) { $parts[$index] .= $line; } } close $fh; warn Dumper \@parts;