use Tie::File; my $file = 'test.txt'; tie my @lines, 'Tie::File', $file or die $!; for my $i ( 0 .. $#lines ) { if( $lines[$i] =~ /Suchbegriff/ ) { print $lines[ $i-23 ]; } } untie @lines;