The best thing for starters, I think, is to pick some working code (command-line utility, web app, module, whatever) that deals with something that matters to you, get a clear idea of what it does, and then identify something that it doesn't do yet (or doesn't do well or easily), and enhance/rework/replace it to cover that missing functionality.
It's a great approach because: (a) the goal is a matter of personal interest, (b) you see how someone else has approached things that are related to your goal, (c) you can quickly start to see the results of your efforts (whereas trying to build something new from scratch tends to take longer), and (d) you start by learning one of the most valuable skills in programming: the ability to maintain and use other people's code. | [reply] |
One of the first things I did was glue other pieces of code together- for instance, a script that checks if there are so many files in a directory, if so, move them somewhere else just using a system call to mv, then a system call to sort, piped into some other code. this kind of stuff is very simple (10 lines of code, maybe) yet is extremely useful.
| [reply] |
Find a non-profit group doing something you believe in and volunteer to do a Perl project for them. Or find a CPAN module you use and contact the author to see what help testing or modifying they need. | [reply] |
Try Madras.pm. Perl Mongers are a community of Perl hackers and programmers, and by joining and supporting it, you'll be able to not only work on a community project (or find ones), but also improve your Perl tenfold.
Software speaks in tongues of man; I debug, therefore I code.
| [reply] [d/l] |