jesuashok has asked for the wisdom of the Perl Monks concerning the following question:

monks,

After reading What I Most Recently Learned in Perl, But Should Have Already Known by liverpole, I started evaluating myself that, "In what are all the Perl areas I need to improve to higher my perl skills." As a start of this, I have created a Excel sheet in which I use 3 columns as follows :-

Date Topic Comments
01/03/2007 Perl Built in Variables Refered books,refered links
02/03/2007 Closures Refered books,refered links
03/03/2007 FileHandling Concepts Refered books,refered links
04/03/2007 Perl References Refered books,refered links
05/03/2007 etc .. etc .. etc .. etc ..
06/03/2007 etc .. etc .. etc .. etc ..


Will that be a good formulae to improve my learning process ? If you feel that, you could add somepoints which is really useful for my tracking , please throw your valuable replies. The reason why I have created this node is as There are many newcomers to perlmonks in thirst of learning perl, it would be useful for them too.

Thanks for spending your time in reading this node.



Update: Removed my signature as marto suggested.

Replies are listed 'Best First'.
Re: perl learnings track
by GrandFather (Saint) on Mar 14, 2007 at 09:19 UTC

    The idea is good. The plan is marginal and the Topic choice is pretty dodgy!

    Can you really assimilate all there is to know, or even get an idea of what there is to learn, in a day? Some of your sample topics are vastly bigger than a day's work.

    I'd put Closures way down the list. On the other hand things like Perl syntax (perlsyn) which includes flow control ought be right up the top somewhere. There are several weeks worth of Perl functions to learn about to say nothing about operators - those all ought to be there before Perl Variables even.

    After you have sorted that lot out then you can move on to one of the core features of Perl: Perl regular expressions.

    Once you have that lot under your belt come back for object oriented stuff, modules, ...


    DWIM is Perl's answer to Gödel
Re: perl learnings track
by marto (Cardinal) on Mar 14, 2007 at 09:16 UTC
    Reading your request for advice I found the tag line at the end a little odd:

    There are two rules to success in life:
    "Don't tell people everything you know."

    For me this is sort of contrary to the idea of this community, where people freely exchange ideas and information. Obviously there is the 'joke' element to your statement, however IMHO this is not the attitude (albeit left up to reader interpretation) we would wish the 'newcomers' you mention to walk away with.

    Update: Changed 'all be it' to 'albeit' as advised by blyman

    Martin
Re: perl learnings track
by lin0 (Curate) on Mar 14, 2007 at 13:01 UTC
Re: perl learnings track
by whereiskurt (Friar) on Mar 14, 2007 at 14:12 UTC
    jesuashok,

    I'm pretty new to Perl myself, especially considering the talent and experience in the Monastery. Clearly there is a lot of material out there you can use to further your understanding of Perl. With Perl it's always a matter of "Ok... what next!" and really there is no shortage of things to learn.

    I wanted to mention what makes Perl really different from other languages you might learn, and that's the concept of Perl as a Natural Language. In the great Programming Perl there is a subsection titled "What You Don't Know Won't Hurt You (Much)" and it basically summarizes how Perl aspires to be a Natural Language.

    It's similar to English in that toddlers can learn just a few words and still say something. Or people who don't fully understand the grammar (punctuation, adverbs, etc.) can still have valuable conversations.

    I do however think it's great to track your progress through the language, as it will help you realise the vastness that is Perl. :) I also think keeping track what every script/program you write would be a good idea too. Best of luck with it all! It's been the best journey of my life so far!

    KPH
      I tend to agree with Kurt. I am a very casual scripter, and have tried to learn something new in Perl with each script (although that is not always the case). Thus, for me, it's been on an as needed basis. Have I been able to accomplish the tasks I've tried to with some rudimentary scripts that could be much more elegant? Absolutely. Then again, our kids could get us to feed them with their limited vocabulary at a young age (our oldest's first phrase was "Pass the ketchup").

      Having said that, it's like a lot of things. If you want to be an expert, it will take time and practice. GrandFather has some nice suggestions, as do the others in this node. Find some problems you want to work on, and then poke around in Perl to find ways to solve them. Programming Perl, Learning Perl, the Perl Cookbook, this site, CPAN, etc., are all your friends. (You knew that.) If your vocation, computer resources, or self drive (or whatever) determine how you do it (tighter code due to limited memory, parsing through millions of records, whatever), all the better.

      It's a great journey, and I hope you have a lot of fun on it!

      tubaandy
Re: perl learnings track
by jeanluca (Deacon) on Mar 14, 2007 at 11:32 UTC
    I think jesuashok signature is was very funny :)
    and shouldn't have been taken too serious by marto!

    LuCa
      Hey, why not take it seriously, after all, one should share knowledge that improves other people's skills, but that doesn't mean you should go so far as to hand over confidential or extremely specialised information that can do significant damage to your organisation and/or career.

      Or to put it another way, a monk might sacrifice his time in the library, but no-one said anything about sacrificing his career on the altar!

      -M

      Free your mind

Re: perl learnings track
by scorpio17 (Canon) on Mar 14, 2007 at 21:27 UTC
    Randal Schwartz used to have a great column in the now defunct Web Techniques magazine. Each month he would focus on a specific topic. There were many times that I found myself reading through his code and learning something totally unintended (that is, not the topic of that month's column) - an odd 'map' or 'grep' statement, an unfamiliar syntax using code references or hash slices, etc. I would frequenty be forced to go look things up just to understand what he was doing.

    My point is that you can learn a great deal by reading other people's code (especially if they're really good programmers!). All of those old Web Techniques columns are still available at www.stonehenge.com/merlyn/WebTechniques

    You can also find tons of interesting code on CPAN - just search for one of your favorite modules that you use all the time, then click on "view source" and prepare to be amazed!

Re: perl learnings track
by radiantmatrix (Parson) on Mar 15, 2007 at 13:47 UTC

    You're the only one who can ultimately know what will help you learn. In general, I think it's a great idea to keep track of what you've learned (e.g. taking notes) and what you'd like to learn (e.g. your spreadsheet); so as far as that goes, good on you!

    FWIW, I keep a mind map (using FreeMind, since it's free, but there are other solutions as well, including pen and paper!). I put "Perl" in the center, and when I learn a concept, I add a branch and put a check mark by it. The very act of doing this usually prompts me to think of two or three related things I'd like to learn, and they become sub-branches.

    As soon as I learn one of them, I check it off, and again it expands. It's been so useful to me that I had to split it into about 10 maps broken up by topic, just to be able to keep track of it all. (Of course, then my employer pushed me into a role where I do Java almost exclusively, and my Perl has stagnated a bit).

    I'd be curious for any of the elder Monks to share their methods (if any) to keep track of what to learn next...

    <radiant.matrix>
    Ramblings and references
    The Code that can be seen is not the true Code
    I haven't found a problem yet that can't be solved by a well-placed trebuchet