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.


True laziness is hard work

In reply to Re: Reinvent the wheel! by GrandFather
in thread Reinvent the wheel! by telemachus

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.