use strict; use warnings; use Data::Dumper; $Data::Dumper::Indent = 0; my $file = 'test'; my @data; { local $/; open my $FILE, '<', $file or die "Cannot open '$file' because: $!"; @data = grep /\S/, split /XXX\n/, <$FILE>; } print Dumper \@data;