$RID = "MEH|MED|MMD|MMS|CR1|FR1"; while(<$dpf>) { while(m/($RID)(....)(.*)($RID)/g) { $RecordID = $1; $RecordLen = $2; $RecordData = $3; if (len($RecordData) != $RecordLen) { #ERROR: Record is wrong length } } } #### MEH0016BUNCHODATA123456MED0019BUNCHMOREDATA456789MED0018MOREDATAAGAIN44568