#!/usr/bin/env perl use strict; use warnings; my $start_re = qr{(?x: ^ my_variable = )}; my $end_re = qr{(?x: (?) { print if /$start_re/ .. /$end_re/ && next; } #### __DATA__ *** Block 1 unwanted_line1=blabla unwanted_line2=blabla my_variable=important_content_section1 important_content_section2 important_content_section3 unwanted_line3=blabla *** Block 2 unwanted_line1=blabla unwanted_line2=blabla my_variable=important_content_section1 important_content_section2 important_content_section3 [stepxyz#xxxx] *** Block 3 unwanted_line1=blabla unwanted_line2=blabla my_variable=important_content_section1 important_content_section2 important_content_section3 unwanted_line3= #### my_variable=important_content_section1 important_content_section2 important_content_section3 my_variable=important_content_section1 important_content_section2 important_content_section3 my_variable=important_content_section1 important_content_section2 important_content_section3