use strict; use warnings; use File::Slurp qw/read_file/; my $text = read_file 'a5927574.txt'; my ($businessItemText) = $text =~ /(ITEM [\dA-Z]+?[: -]+BUSINESS.+?)ITEM [\dA-Z]+?[: -]+/s; print $businessItemText;