Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Mining the hidden gems of CPAN

by adrianh (Chancellor)
on Oct 23, 2002 at 09:47 UTC ( #207334=perlmeditation: print w/replies, xml ) Need Help??

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:

  • You thought would be in CPAN
  • You couldn't find it when you looked
  • Later found in some odd module after you had coded your own version :-)

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 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:, 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.

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.


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

      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.

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


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://207334]
Approved by JaWi
Front-paged by hsmyers
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2021-04-20 05:17 GMT
Find Nodes?
    Voting Booth?

    No recent polls found