If you are “new to programming,” then the first and perhaps most important tool that I would use is a number-two pencil and a legal pad of paper. Write down, in longhand, what your input file looks like, what decisions need to be made by the program, what the math is, and generally, in your own words, what this program needs to do. Write it as though you were giving detailed instructions to another person, and try hard to leave no detail un-mentioned. Next, walk-through the procedure, exactly as you have written it, to be sure that each of the cases are thoroughly and correctly described. A person who knows nothing at all about what he is doing, who knows nothing about the context of the problem being solved, should be able to sit down in a kitchen with your recipe and produce an acceptable dish.
Now ... take this pad of paper and go into the kitchen. The tools in that kitchen (Perl...) are obviously powerful and serviceable, but they are unfamiliar to you (of course). However, now you are thoroughly prepared: there is no question remaining in your mind of what to do; the only challenge now is to figure out how to make this magical, thoroughly-automatic kitchen produce the dish. You know that you will be bumping into lots of unfamiliar areas concerning how to make the equipment work, but you know exactly what the goal is and exactly how the kitchen will go about doing it.
These are two separate concerns, and actually, the first one ... not the second! ... is by far most-significant to someone who is “new to programming.”