#!/usr/bin/perl use strict; use warnings; my $text = join '', (); my @match = $text =~ /^10.*\r?\n20.*\r?\n01.*$/mg; s/\r?\n/---/g and print for @match; __DATA__ 01|1-123-878|Musterfrau 01|1-010-123|Muster 01|1-051-543|Mayer 20|2-123-452|Bauer 01|2-453-345|Huber 10|1-123-134|Max Mustermann 20|1-456-789|Peter Huber 01|1-457-123|Max Mayer