in reply to Fast file parsing

Since you are just looking for DSC lines, I would speed things up by skipping the loop unless it is one of those statements:
while (<FILE>){ next unless /^%%/; ... }

-Mark