...this is great advice.
Determining what "things" will be in your system will guide you as you decide what needs to be built next.
Advice above that you carefully examine what there is in the world already is sound guidance. But don't believe that the task is difficult and insurmountable. Perl is designed to make things like this easier.
If you begin with a clear picture (it doesn't matter if it's a tree, an idea diagram, a flowchart, or a "Bacchus-Pinkus-Zeus standard compressed paranormal data continuum diagram," as long as it helps you clarify your thoughts about how the big picture fits together,) you're on the right track.
Plan to build something that you can see and test early on. Then each iteration of your coding operation will build upon a working foundation.
Good luck. This really isn't hard to do.