#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my $faq = '/path/to/faq.txt'; my @faqs; { local $/ = '%_DATENSATZ_%'; open my $fh, '<', $faq or die $!; while( my $entry = <$fh> ){ push @faqs, [split /\Q%_TRENNER_%\E/,$entry,2]; } close $fh; } print Dumper(\@faqs);