#!/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 ...