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

Hello fellows

I am interested in participating in Perl project. I have some decent knowledge, and I want some simple, in the beginning tasks, to practice in real life problems. So if somebody has some spare time and projects, please contact me, I`d like to help as well gain some knowledge.

I don`t want money for that - just practice for me. You will help me gain knowledge of Perl

I think it will work out better if you can find a genuine passion,
interest, work-related problem, or itch to scratch, and you
choose a project that is important and interesting to you.
If you seek a project, any project, to contribute to, I doubt
that will be sustainable in the longer term.
You need have a genuine interest and reason to
work on a project.

Notice that your approach was tried and failed some years ago in the
(now inactive) Perl Phalanx project.

If your goal is to improve your Perl by practice, you might like to check out these nodes:

Hello Fellows, I want to have some true friends. Please give me some, will you?

It doesn't work like that, in real life. And by the same token, we can't just point you to a project, without knowing more about what you want to do, what you can do, what you want to learn, and how much time you want to invest.

Well... I want to make a game. Maybe a simple RPG with very basic gameplay system. I don`t know if Perl is "the man" but I can give it a try.

I have an average understanding of Perl, however I beat the Lama book for 10 days with no particular hardship, but I enjoyed it. I have small expirience in C, which helped a while learning Perl, since I feel it`s procedural outlook.

Read the posts here. Understand them. Find and offer answers to questions and solutions to problems. Through this you will practice and learn a lot about perl, learn a bit about what help others need, what interests you and where you have the ability to contribute.

Eventually you may find problems for which the best solution is an enhancement to a Perl module, or a new module or even a bug fix or enhancement to perl itself.

When you have a specific objective in mind you can ask for guidance here. You will receive good advice, including pointers to other forums when they are appropriate.

Through this you will be participating in the Perl project, practicing and learning.

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. ;)

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.

There are dozens upon dozens of easy opportunities -- just adding the appropriate links to perlfunc for every piece of syntax possible

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other