All problems that can be solved using a module (written by someone else) can be solved without using the module. It's just that you may end up rewriting the module! Redoing hundred or thousands of hours of work may be a good way of learning, but it doesn't get the task at hand achieved in a timely fashion.
Of course if you really want to learn stuff try solving the same problems in assembly language or Ook! - you'll learn all sorts of stuff about frustration and low productivity, but those are probably not the things you want to learn.
One of the important lessons to learn here is that there are a lot of very clever people writing modules for Perl and making them freely available. Using those modules can save you a lot of time. Peeking at the internals of those modules can teach you a lot about coding techniques. Using modules you can win both ways - learning and saving time.
DWIM is Perl's answer to Gödel