There are several things here I see as worthy of discussion, or at least mention.
First off, in the pursuit of learning go with whatever floats your boat. As I'm sure you are well aware different modes of learning suit different people. If you can identify what works for you, you are way ahead of the rest of the crowd.
Second, why reinvent wheels? I'm not saying you shouldn't reinvent wheels for the purpose of learning, just wondering if there isn't some other sort of tool or machine you could have had a swing at? You imply ('writing the same ... things over') that there is scope to put some aspects of your code into modules. That may not have needed recursion, but could well have led you to modularised code and OO which are much more often used for fun and profit in any case. What I'm suggesting is that instead of reinventing a wheel as a focus for learning, you may have been able to tackle something with an immediate pay off that is specific to your application area.
Third, you chose to go the 'clean room' route - you didn't look at the construction of the existing wheel before you started out on your own implementation. That's no bad thing but, particularly with software, it's pretty hard to judge how good your 'answer' is just by comparing it with someone else's answer. I'd suggest for completion of this exercise you should post the code to Cool Uses For Perl and ask for some criticism. I'd recommend that you link this thread in your CUFP post to provide some context just in case the 'reinventing the wheel' police come gunning for you.
Last, as I'm sure you know, teaching others is a great way to learn. Poke around Seekers of Perl Wisdom, offer a little help where you can, read the sage (and otherwise) answers of others, and your Perl will progress at a great rate.
In reply to Re: Reinvent the wheel!
by GrandFather
in thread Reinvent the wheel!
by telemachus
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |