in reply to Re: Perl Skills
in thread Perl Skills

My reason is future job success. So, no. I don't have any specific project for learning. Also I want to decouple project and the Perl parts. So, I don't get lost in the intrinsic details of the project or project requirement. I want to sharpen the saw.

I often read Perlmonks posts and the solutions which helps in variety of way. I want to dive little deeper.

While I like trial-error approach, I like to improve/deepen my fundamentals too.

Replies are listed 'Best First'.
Re^3: Perl Skills
by moritz (Cardinal) on Jun 14, 2010 at 19:02 UTC
    Then here are a few, more specific suggestions:

    You didn't mention object orientation. If you're not yet familiar with the Perl OO model, it would be a good idea to learn about it (like perlobj, and Moose for an extension).

    "Mastering Regular Expressions" by Jeffrey Friedl is the book about regexes, and a must-read if you want to dive deeper in that subject.

    overload surprised me with its many possibilities, and lead me to explore Scalar::Util (if you want to weed out duplicate objects, you need refaddr...)

    Other things docs you might skim or read: UNIVERSAL, perllexwarn, perlrun (it never ceases to amaze me how much you can do with perl's command line interface), perlmod for symbol tables, perlfaq1 .. perlfaq9.

    Perl 6 - links to (nearly) everything that is Perl 6.
      How to gain Perl 6 skills? as little documentation is available.
        Read the book (see the download section for rendered PDFs), write programs with rakudo, and if something's not clear to you, ask on the perl6-users@perl.org mailing list, or (preferred) ask and discuss on our IRC channel.

        For deeper reading the synopsis (specification documents) are available, and the canoncial source of most Perl 6 wisdom (but not always the easiest read).

        Perl 6 - links to (nearly) everything that is Perl 6.
        For following Perl 6, its interesting to lurk on the perl6-users and perl6-language lists and watch the language being made.

        Aaron Sherman is writing Perl 6 snippits for beginners on his Google buzz feed.

        At this point, Perl 6 skills (in and of themselves) probably won't help you get a job. On the other hand, the more you learn and practice various languages in general, the better/more employable programmer you become.

        Perl 6 is imo a waste of time -- it's too experimental/bleeding edge. I mean, you might be able to use it a small company, but not at most larger companies where even using Perl 5.10.x is difficult. I would take a different approach -- get your hands on the latest Red Hat Enterprise Linux (or the equivalent CentOS, which is basically RHEL without the branding) and become familiar with whatever version of Perl they ship with along with MySQL, Apache, etc.

        Update: That's going with the "make yourself more marketable" approach you indicated -- it obviously might be more fun to learn Perl 6 (or 5.10 or 5.12). Also balance that against e.g. learning more about Object-Oriented Programming, etc.

        Elda Taluta; Sarks Sark; Ark Arks

Re^3: Perl Skills
by furry_marmot (Pilgrim) on Jun 16, 2010 at 17:56 UTC

    Don't knock trial and error. Think of it as practice. Consider learning a new human language (or your native one for that matter). You can listen to tapes and be able to call for taxis or order food in a restaurant, but you can't have any real conversations until you have some real conversations. You learn by practice because the things you read about won't really make sense until you rewrite some neural pathways by using the things you learn. If you're not knocking your head against the keyboard, you're not really trying.

    Pick a project. Anything. Create a file-find utility (using File::Find) for your hard drive. Maybe index your drive. Download movie listings (WWW::Yahoo::Movies). TV Listings (figure out how to parse Yahoo TV listings -- it can be done!). Make a DVD library, including categories so you can print out a categorized list. Don't just read PerlMonks, but actually get in there and try to solve someone's problem. THEN, LATER, compare notes with what others wrote. It doesn't matter what it is, as long as you're coding. After all, if you just want to read for future success, you'll get weeded out in the first interview. Employers will ask what you've done, not what you've read.

    That said, once you have some notion of how you'd like to sharpen your skills, search for things on CPAN. There is an absolutely immense number of modules written by others and uploaded. While the quality varies, all of the best modules (including all the core modules) are there. You can use them to get complicated things done, or you can check out the code. Sometimes, just the titles and/or descriptions will get you thinking about something you'd like to write yourself.

    My two cents. --marmot