#!/usr/bin/env perl -l use strict; use warnings; { local $/ = "\nH00"; while () { my ($h01) = / ^ ( H01 .* ) $ /mx; if (substr($h01, 14, 2) eq 'SA') { print 'WANTED: ', $h01; } } } __DATA__ H00... don't care ... H01... block1 SA ... D01... don't care ... H00... don't care ... H01... block2 SX ... D01... don't care ... H00... don't care ... H01... block3 SA ... D01... don't care ... #### $ pm_1128584_process_edi_file.pl WANTED: H01... block1 SA ... WANTED: H01... block3 SA ...