in reply to File parsing query

Maybe P::RD (Parse::RecDescent). Unfortunately, this is hard to learn how to use (I am a total beginner myself) but it might be a case where if you learn it once doing this type of thing in the future becomes easier.

If you post some sample input, and the desired sample output, some P::RD master may be able to help you out.