#!/usr/bin/perl # https://perlmonks.org/?node_id=1216375 use strict; use warnings; $/ = 'APP> END_PARTU_8X8'; while( ) { s/.*APP> START_PARTU_8X8\s+APP> PARTITION_SPLIT\n//s or next; /(.*\n)\s*APP> END_PARTU_8X8/s and print $1; } __DATA__ APP> START_PARTU_8X8 APP> PARTITION_NONE START_PARTU_16X16 APP> END_PARTU_8X8 APP> START_PARTU_8X8 APP> PARTITION_SPLIT START_PARTU_4X4 ........ START_PARTU_4X4 ........ START_PARTU_4X4 ........ START_PARTU_4X4 ........ APP> END_PARTU_8X8 PARTU_16X4 16X16 4X16 APP> END_PARTU_8X8 #### START_PARTU_4X4 ........ START_PARTU_4X4 ........ START_PARTU_4X4 ........ START_PARTU_4X4 ........