#!/usr/bin/perl use strict; use warnings; use Data::Dumper; my $file = '/path/to/file.txt'; my @array; { local $/ = "\nMessage:"; open my $fh, '<', $file or die $!; while( my $entry = <$fh> ){ chomp $entry; $entry = "Message:".$entry unless $entry =~ /^Message/; push @array,$entry; } close $fh; } print Dumper(\@array);