The Module of Modules: CPAN

Modules make possible in an afternoon, what would take many months without them. It is because of this the time needed to learn to use them is well spent.
Once you learn to effectively use modules, you will wonder how you ever got by without them. Switching from Perl without modules, to Perl with modules, is as big a step is ease of use and project clarity as moving from C to Perl was is the first place.

This should have come with your perl dist. I won't get into how to use it in your program, as most modules are used; no, there is a very special power within CPAN that no monk can live without. This is the CPAN shell. To invoke, issue the following incantation:

perl -MCPAN -e'shell'

It will probably tell you some things, like that there is a newer version of the spell, and that you should fetch some network Bundle:: 's. Follow these instructions, always.

Now, to look for a module, light your purifying incense, and chant:

i /keyword/

Give it a try. If you don't know what to search for, try i /lingua/.

When you find something that sounds way-super-cool, concentrate on:

install package::name

For example, you might want to install Lingua::EN::Gender. This will download the tarball, configure it, make it, make test and make install it for you, saving you the trouble.
Why should a Perl hacker have to wrestle with gcc? I say, let's leave the C coding to St. Wall, and his Disciples.

When you first run it, it will ask you some congif questions; I recommend asking the Gods to install any dependencies for you; I have found them to be better at knowing these things than I am.

It might help to run this as root.

If make test fails, you can probably go to $HOME/.cpan/build and make install. Usually when make test fails, it is becuase no time was spent developing the test, and instead of making it always pass, they like to make it always fail... but this is rare. Most packages are written well.

I like the writing style -- informative, entertaining, and easy to read. Perhaps you (or someone else) could add a footnote addressing some of the cross-platform issues in installing modules. Personally, I've never installed a module for the Windows version of Perl, and perhaps it works exactly the same way as you've described. Deep down though, I don't really believe this is possible.

Yup, unfortunately it doesn't work exactly like that on Windows. If I could figure it out, I'd tell you all the differences, but unfortunately I can't get it to do anything :(
Anyone have any tips for a novice?
Nodecam

For example, you might want to install Lingua::EN::Gender. This will download the tarball, configure it, make it, make test and make install it for you, saving you the trouble. Why should a Perl hacker have to wrestle with gcc? I say, let's leave the C coding to St. Wall, and his Disciples.

When you first run it, it will ask you some congif questions; I recommend asking the Gods to install any dependencies for you; I have found them to be better at knowing these things than I am.

It might help to run this as root.

This last comment perplexes me a little. When 'might' it help run this as root?

My experience has included piles of Perl development but very little module installation. In the last few months I've been trying my hand at this on the Linux boxes I use as webmaster/developer, but I keep running into privilege violations, and I'm not really sure why. It's a little frustrating, and I hope this post isn't going to increase my 'goof!' rating on PM.

What I'd like to do is create a personal library of stuff from CPAN that my web provider has not yet installed (this is on a Linux box). I would then do a use lib in my code to remind Perl where that module is.

I assume that when I try to install stuff from CPAN (using the CPAN module), it thinks I'm running as root, hence the privilege violations. What do I have to do to get the CPAN installation process to understand that I don't want to alter the system-wide Perl installation, I just want to affect my installation (that is, just my directories)? The answer so far has eluded me.

The installation location is determined by the settings built into your perl at compile time. The working directory is set in CPAN::Config.pm. Generally to use the CPAN module for user module installation, you'll want to install your own perl. Usually this is done with the binaries in ~/bin and the libs in ~/lib/perl5.
--Snazzy tagline here

Try creating a file ~/.cpan/CPAN/MyConfig.pm that overrides
likely-looking values in CPAN::Config. (eg where you build
stuff, where you install it, etc). That should let you use
CPAN to install anything you want into a directory tree of
your choice. You can then use lib as you do now.

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