views:

78

answers:

3

I need to learn Perl for an academic research I am doing. I need to go through a lot of older perl scripts and run them, tweak some perl scripts from open source tools for my use and of course make some of my own.

I have a tight schedule so I needed to be comfortable with a perl code pretty quickly. I have previous coding experience from C and Java but not with any scripting languages as such. I found Perl to be quite difficult to get used to from the beginner tutorials I have gone across. I am more comfortable learning through screencasts rather than go through books when I start learning languages. Of course one always needs a good reference book or user manual but videos are more intuitive when learning something first especially because I can see the expert actually code stuff and explain it at the same time.

I've heard from other friends that there are great screencasts for other scripting languages like Ruby and Python. I was wondering is there any really good quality screencast for Perl out there. So, I ask for help from people who have good experience with Perl to point me to a good resource.

+3  A: 

I don't think that screencasts are really that valuable in terms of learning fast and deep. There are some nice Perl 6 screencasts, but for Perl 5 I still think perldoc is the best thing you can find. Comprehensive and readable.

Also, Perl is a pretty big language, similar to natural languages in many cases: easy to get comfortable with simple things, and requiring more experience to get around the difficult/sophisticated syntax/concepts. Mastering Perl takes time, especially when you'll need to work with old Perl (it's pretty different to Modern Perl, written today).

tadzik
A: 

This may not work for everyone,but personally, I find taking on small projects (or inventing my own) to be the only sufficient way of learning a language quickly.

One trick I use for high-speed, is to take stuff I've already written in other languages, and port it to the new one. I moved from Rexx to Perl this way a few years ago, then from Perl to Python recently, and now I'm moving from Python to Ruby in the same way. So, you could try taking something you've written in C, and porting it to Perl.

Frankly, being given a big pile of old code to comb through is a huge gift. You could try plugging the classes and functions into new short projects, to see how they behave. You could also try writing unit tests exercising them, to give you both familiarity with coding in Perl, and familiarity with the functionality of the codebase you're familiarizing yourself with.

Greg Gauthier
+1  A: 

One of the best ways of learning is:

  • Learn Perl debugger. If you are familiar with gdb, it should be a breeze

  • Run a few of those older scripts, and try to grok them, by looking up sercheable references on perldoc web site, tweaking/messing with them, and importantly, debugging them.

  • Whenever you run into some piece that you just don't get (especially feature/functionality that's not easily searcheable for like a keyword/built in function would be), come to SO with that specific thing and you'll get fairly reliably comprehensive answers.

  • Go through a decent set of books. O'Reilly are the best for Perl (Camel would be my recommendation) - they are actuially VERY quick/easy to skim through to get the main points of someone who already has C and Java experience. Couple that with the main perldoc tutorials (data structures, modules and OOP)

  • For doing new work of your own, get a hold of Perl Cookbook in addition to the above.

DVK