What hidden bits of functionality have you found in CPAN? Not the popular modules like DBI and Template that everybody knows about. Not the modules that you use every day. I mean some little module, or part of a module, that:

For example, while I was writing Test::Class I needed something to return the calling order of methods in a class hierarchy.

A quick poke around CPAN didn't produce any results so I coded my own variant. A few weeks later I found self_and_super_path in Class::ISA which did exactly what I wanted. Nice!

So, what little gems have you found in CPAN that nobody else has heard of, and would have trouble finding even if they had?


2002/10/23 - 23:00 GMT
New rule: If there is a perl.com article on a module, or you know who has written an article on it - it's not a hidden gem :-)

Replies are listed 'Best First'.
Re: Mining the hidden gems of CPAN
by valdez (Monsignor) on Oct 23, 2002 at 10:57 UTC

    I realized two or three years ago that CPAN has answers for nearly everything. Now my first duty in the morning is a visit to the recent uploads page, where sometimes I discover something new, interesting and useful.

    Another wonderful meta index for CPAN is Perlmonks itself; questions posted here are a good way to learn about modules and possible uses of them; moreover, sometimes answers given here suggest many different modules. Can you imagine a better way to learn something? :)

    I had a lot of experiences like yours: CGI.pm, HTML::Template, Config::General, CGI::Application, Date::Calc...

    Ciao, Valerio

      You might be interested in the use.perl mailing list.
      The days uploads are sent along with all of the use.perl news.
      Saves visiting the recent upload page.

      -dwiz
Re: Mining the hidden gems of CPAN
by gjb (Vicar) on Oct 23, 2002 at 10:34 UTC

    It's quite a while ago, and maybe I didn't look hard enough, but two modules come to mind: List::Util and Tie::IxHash.

    I've quite often implemented the functionality offered by those modules scattered over different projects.

    -gjb-

      I can already think of uses for Tie::IxHash. Nice one.

      Although it probably fails my new rule I'd add Scalar::Util along with List::Util as a rather useful little module that's harder to find than it should be.

Re: Mining the hidden gems of CPAN
by joe++ (Friar) on Oct 23, 2002 at 15:08 UTC
    After I hacked msy own crappy "Date::Locale" to format localtime in a different language, I stumbled accross Graham Barr's Date::Language::* modules. These are tucked away in the TimeDate modules.

    So I submitted a Date::Language::Dutch module and threw away my local hack. This definitely was an improvement, especially for maintenance.

    --
    Cheers, Joe
    Do I need a Disclaimer?

      Wow! How could I have missed those?

      I did something similar last year. Don't laugh because I haven't touched them in a long time. In fact, way before I found Perl Monks! Without further ado... http://free.prohosting.com/~musgrove/scripts/

      I need to spruce those up a bit and submit some Date::Language modules of my own now.

      Obligatory warnings:

      1. I'm not a linguist. The only languages I know are English and Perl (and I'm not great at either of those). You may find big mistakes in the translations.
      2. I started writing these scripts around the end of 2000 and continued work on them until sometime near the end of 2001 when I moved them. They need some work.
      3. You will find some broken links. I am in the process of taking the site down, transfering things that I want to keep, etc...

Re: Mining the hidden gems of CPAN
by hiseldl (Priest) on Oct 23, 2002 at 14:18 UTC

    I found Tie::DBI which also has hidden in it Tie::RDBM. These are not available via PPM, but they are pure perl implementations and are easily installed with the CPAN shell. I have found Tie::DBI to be fairly useful for small projects and am working on a seperate version that eliminates some of the overhead.

    --
    hiseldl
    What time is it? It's Camel Time!

Re: Mining the hidden gems of CPAN
by demerphq (Chancellor) on Oct 23, 2002 at 18:38 UTC
        Hmm, interesting module. I've installed it now, but i'm doubtful that i'll be switching any time soon. Unfortunately the people that need to config the stuff I work on dont feel comfortable with config files more complicated than an ini file. :(

        --- demerphq
        my friends call me, usually because I'm late....

Re: Mining the hidden gems of CPAN
by princepawn (Parson) on Oct 23, 2002 at 14:13 UTC
    I have been working creating a set of more detailed keywords for CPAN so that people don't miss things related to their task.

    Is anyone interested in working on this? I was browsing the frontpage of search.cpan.org and found several things for certain categories that were missing.

      I noticed that -- even important -- stuff is missing too and I wouldn't mind giving a hand, so feel free to let me know what I can do to help.

      Regards, -gjb-

Re: Mining the hidden gems of CPAN
by strredwolf (Chaplain) on Oct 23, 2002 at 17:37 UTC
    Remember, we have Inline::C to help folks...

    But then, I'd like to have an interface for a VNC server. (Read: VNC server inside a Perl script -- trying to tye in V4L to a VNC server)

    --
    $Stalag99{"URL"}="http://stalag99.keenspace.com";