#! /usr/bin/perl use strict; use warnings; use diagnostics; my $infile = 'text.txt'; my $outfile = 'aufgaben.txt'; my $b_aufgabe = 0; my $i = 0; my @aufgaben = (); open(R_FILE,"<$infile") or die $!; my @lines = ; close R_FILE; foreach my $line(@lines){ $b_aufgabe = 1 if($line =~ /^Aufgabe/); next unless($b_aufgabe); $aufgaben[$i] .= $line; if($line =~ /^Seite/){ $b_aufgabe = 0; $i++; } } open(W_AUFGABE,">$outfile") or die $!; print W_AUFGABE $_,"\n" for(@aufgaben); close W_AUFGABE;