#!/usr/bin/perl use warnings; use strict; while () { #use flip flop operator and exclude ending point print if (/^\s*\(\d+.+Significant Accounting Policies/.../^\s*\(\d+/) =~ /^\d+$/ ; } __DATA__ (1) Summary of Significant Accounting Policies Revenue Recognition Revenue is recognized at the time goods are sold and shipped. (2) Long-term Debt (3) something else #### #!/usr/bin/perl use warnings; use strict; while () { if (/^\s*\(\d+\).+Significant Accounting Policies/) { print; #this is the SAP heading line print while (defined ($_ = ) and $_ !~ /^\s*\(\d+\)/); } } __DATA__