while () { my $string = $_; my $stmt_tr = substr($_,126,10); if ((substr($string,126,1) =~ m/5/) && (substr($string,98,8) =~ m/20081112/)) { foreach my $x (@trace_row) { if ($stmt_tr = $x->{trace_orig}) { print $x->{trace_orig} . "\n"; } } print $string; ++$rcount; print $rcount . "\n"; } }