Then I would suggest doing some more generic software engineering reading and then applying those concepts to Perl. That's the nice thing about Perl; if it does not support what you want, you can add the support yourself. But thanks to CPAN, it is very likely what you want has already been done for you. Other languages will generally constrain you to the thinking of the time.

Authors I like in this realm include: Robert Martin and Steve McConnell

Others I can think of right off include Martin Fowler, Grady Booch, Ivar Jacobson and Donald Knuth. I could probably list some more but would have to go home and look at my bookshelf.

Concepts you might find interesting include: Literate Programming, Extreme Programming, Aspect Orieinted Programming, Design by Contract and Functional Programming.

You might not agree with all of these but applying them in Perl will certain have some interesting results as well as expanding your skills.

When it comes right down to it, the only thing really **right** about Perl is that it may be the only language in which you can apply ALL software development concepts, good and bad, new and old and those yet to come. Other languages tend to do what they do and that is it. Applying new concepts to the language means either waiting for the language designers to pick up on the idea or corrupting the concept in some way so you can crowbar it into that language.

In otherwords, don't worry so much about learning Perl. Use Perl as a self-learning sandbox to learn generally good programming techniques. Since Perl makes so much of TIMTOWTDI, in the end, as far as Perl is concerned, there is no right way...


In reply to Re^3: How to learn Perl efficiently by KeighleHawk
in thread How to learn Perl efficiently by theroninwins

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.