As for the OpenID stuff, I just post here. I don't run the joint.
]]>I let pacman manage and update my system perl as it sees fit. In addition, I have added a few optional packages such as CGI::Simple via pacman. Otherwise, I keep my own perls and module directories.
See also Perl Package Guidelines.
On Windows, I occasionally install the most recent version of ActivePerl. I use ppm to keep packages up-to-date and add modules to the system Perl. In addition, from time-to-time, I'll update my Strawberry and Cygwin perls as well as (much more rarely) build my own.
On my Mac, I am using perlbrew exclusively.
]]>dpkg, dpkg-*
The dpkg tools are low-level package tools that AFAIK work only on single packages that you have on hand. These are the tools used to build packages from a source tree into a .deb file, then install that .deb file. Or to install downloaded .deb files (like dropbox_1.4.0_amd64.deb) that come from outside of the Debian repositories. Not recommended for normal use.
apt-get, apt-etc
The apt tools are the standard-ish tools for installing packages. Apt incorporates the Debian (or other) repositories and provides things like dependency checking, upgrading of installed packages, searching for packages, etc. It uses dpkg on the backside.
aptitude
This is a super-apt that incorporates a bunch of different apt-cmd functions into one application. It also has both cli and curses interface and adds some protection against shooting-in-the-foot and oh-you-may-want-this-also recommendations.
synaptic
Roughly the GUI version of aptitude. Very easy to use for searching package names, viewing details, selecting for installation/removal, etc.
others
I'm not sure if there are any others...
perl-base
The core system Perl that's needed for the system itself.
perl
The package you install when you the user want some Perl. It has dependencies on
perl-modules
A nice selection of extra modules including EU::MM
perl-doc
The docs. There is also a perl-doc-html that you can install for the pretty versions.
I'm not really sure. I would guess that dpkg may have a 'relocate' functionality to it, but I've never tried. Debian already splits some things out into a wide @INC
@INC:
/etc/perl
/usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.14
/usr/share/perl/5.14
/usr/local/lib/site_perl
I'm not terribly sure of their logic.
Modules are usually Foo::Bar -> libfoo-bar-perl, but some app-like things get real names (perltidy, cpanminus). Searching with aptitude or synaptic is pretty easy "aptitude search '.*-perl' and there is a 'Section: perl' in the package info that I'm sure there's some fancier way to search more specifically. With 'aptitude show package' you can find dependencies and version information, synaptic displays the version. I haven't had the need to find older versions of a module.
Debian sid, but AFAIK applies to all of Debian. Ubuntu has some differences in the core/doc packages.
There is also dh-make-perl
that will package up simple Perl modules, even downloading them from CPAN.
dh-make-perl make <options...> --build --cpan Foo::Bar
Using this program is no excuse for not reading the debian developer
documentation, including the Debian policy, the Debian Perl policy, the
packaging manual and so on.
For building modules you need the build-essential
which gets you cc, make, libc-dev. And for finding missing things 'apt-file find -F <missing-file>' can find the package that provides the file you need (usually a libfoobar-dev package).