I want to encourage those who wish to participate to get involved. It's that sort of enthusiasm that keeps Perl alive. In order to be effective in that goal, you need to make sure that you're acquiring the skills that will make you useful. Otherwise you might be disappointed in the type of contribution you'll be able to make to a project if you haven't at least gotten through "Intermediate Perl" (or equivalent). Syntax isn't enough. However, not every contribution must be in the form of code. While there is certainly a need for people to write better documentation on projects, or to hunt down bugs, or more, the level of your contribution will be proportional to your understanding not only of syntax, but also of higher level techniques and tools. To contribute at a more self-guided level, you need to have an understanding of references, packages, modules, and objects. Because Perl has become a "testing culture", you'll also need an understanding of how to work with Test::More, and prove. If you haven't already gone through Intermediate Perl, you should.
As for where you might find projects to work on, I can think of a few good places to start:
- CPAN: Write a module covering an issue that is inadequately covered already, or specialize an existing solution in a more optimal way for a specific type of need. Release your work to CPAN.
- CPAN: Find a module that you consider useful, but with a long list of bugs in its RT (or even just a few), and no evidence of any maintenance in the past few years. Create some patches. Contact the author. Try to work with him on getting it spruced up. He might make you a co-maintainer. Or you may find he's completely absent, in which case you might start the process of having maintainership transferred by the PAUSE admins. ...your success in this endeavor will rely greatly on your understanding of how to create and maintain CPAN modules in general. Intermediate Perl is a good start. Reading all the docs at http://pause.perl.org is helpful. Getting a PAUSE account will be necessary. Practicing (possibly with an Acme module of your own) will be helpful.
- Perl: The POD is pretty good. There may be opportunities to additionally clarify some of it. You don't have to be a C guru to help out with that. But you do need to know how to submit patches that have a prayer of being accepted.
- Perl Mongers: Attend your local Perl Mongers group. Get to know people. Get interested in what they're working on. Get involved.
- In the absence of a Perl Mongers group, find some other programming group, and become their resident Perl expert. ;)
Other topics you might want to look into in order to make yourself more useful: Version Control (such as Git), ExtUtils::MakeMaker, Module::Build, Module::Install, Tap::Harness, Moose. Modern Perl is highly worthwhile as well.
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:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||