in reply to Pattern Matching examples

Seems like you have two basic tasks:
  1. read a row of records
  2. split up the columns into three individual records
The latter has been discussed. For the former, if you have blank lines only in between rows, look up what happens when $/ = "" (paragraph mode) in perldoc perlvar.