#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11114346 use warnings; my @array = ; use Data::Dump 'dd'; dd \@array; my @combinedarray = (join "", @array, '') =~ /^.*\n(?: .*\n)*/gm; dd \@combinedarray; # do the 'for' over @combinedarray __DATA__ keyword1 data1 data2 data3 keyword2 data1 data2 data3 data4 data5 data6 keyword1 data1 data2 data3 data4 keyword3 data1 #### [ "keyword1 data1 data2 data3\n", "keyword2 data1 data2 data3\n", " data4 data5\n", " data6\n", "keyword1 data1 data2 data3 data4\n", "keyword3 data1\n", ] [ "keyword1 data1 data2 data3\n", "keyword2 data1 data2 data3\n data4 data5\n data6\n", "keyword1 data1 data2 data3 data4\n", "keyword3 data1\n", ]