in reply to Re: Find perl module version from command-line
in thread Find perl module version from command-line

When I run the perl script provided by Fastolfe I get some extra output in the results:
dal1:/home/user1 % CPAN Module Installed CPAN CPAN: Storable loaded ok (v2.13) Going to read /home/user1/.cpan/Metadata Database was generated on Thu, 03 Jan 2008 05:38:06 GMT CPAN 1.9205 1.9205 dal1:/home/user1 %
Is there a simple way to discard this additional text?

Replies are listed 'Best First'.
Re^3: Find perl module version from command-line
by naChoZ (Curate) on Jan 04, 2008 at 22:56 UTC

    The extra output is being generated by the CPAN module itself. I checked out the code on mine and I don't see any conditionals or anything that could be passed to supress that output. So, the simple answer is to grep for what you want or use CPAN | tail +5 because I don't think there's much you can do from the perl side that doesn't require putting more effort into it than it's worth.


    Therapy is expensive. Popping bubble wrap is cheap. You choose.

      I know this is kind of an old thread, but I was wondering if anyone has any code that will recursively go through a directory structure and find ALL the PERL modules and then print out the version. My Red Hat Linux distro has /usr/local/lib/perl5 and then the sub-dirs 5.8.5 and site_perl. How would I sweep through these two sub-dirs, find all the .pm files, for example, and then have it give me the VERSION if a VERSION variable exist in the .pm file? The reason I ask is I have 4 machines which I must compare VERSIONs on. So if I can get the output into 4 individual files I can easily import the data into a spreadsheet and compare. I have a small bash script that seems to work, but I'm looking for an efficient PERL method. I am just learning PERL i.e. I'm a few pages into the 5th ED. of the O'Reilly book, so the coding required is still a bit over my head, yet I have this task to complete for the boss man. Any help you can offer would be greatly appreciated.

        How about ack '^\s*\$VERSION'? See App::ack.

        Also, instead of using Excel, you might want to use sort and diff to find the differences between the machines.

        Umm, I thought I was logged in when I posted ^4 of this thread. So ^4 and ^5 are from user geelsu. Also, this PERL install is on a private network with no access to the Internet so I can even get to CPAN for example.