Help me install Perl modules on my Windows machine!
December 4, 2005 7:11 PM   Subscribe

Help me install Perl modules on my Windows machine!

Follow-up to this question: I'm trying to get Tasty Post running on my computer now; I've installed ActivePerl and some googling found me this page on how to install Perl modules with the ppm command.

But the second dependency on the list for Tasty Post, lcwa, is not found by ppm. And when I try to install it the old-fashioned way, using the nmake command, there's no! How do I get this to work?
posted by joshuaconner to Computers & Internet (7 answers total)
Have you tried this at a command line?

perl -MCPAN -e shell


install Icwa

It's also possible Icwa isn't a package per se. Rather, it's just a common name for that big long list of packages. That is, you may have to install all that stuff one by one.
posted by maschnitz at 7:15 PM on December 4, 2005

Response by poster: Have you tried this at a command line?

perl -MCPAN -e shell

Yeah, but that just gives me another C:\Perl\Lib\> prompt. Any other thoughts? There must be a way to install the whole LCWA package, I figure, because otherwise why would anyone download it?
posted by joshuaconner at 7:40 PM on December 4, 2005

The reason you can't install lwca is probably because no one has updated it in about 8 years. Many of those modules are now included elsewhere.

For example, just by a quick glance:

1) all the HTTP/LWP/WWW stuff is now in libwww-perl
2) the IO modules are all now included with a base perl install
3) the URI stuff is now in a seperate package
4) the Date/Time stuff is now in TimeDate package
5) Getopt::Long is in its own package
6) Bit::Vector seems to have become the perl "vec" function

So in short, no one should ever need/want to install lwca. You probably already have all those modules.
posted by sbutler at 8:13 PM on December 4, 2005

Best answer: Wow... that's the kind of code that makes perl programmers look bad. Anyway, here's a list of modules the guy actually uses:

tulkas:~/Desktop sbutler$ egrep '\b(use|require|ISA)\b'
use Time::localtime;
use Date::Manip;
require URI::URL;
require XML::LibXML;
require XML::Atom::Client;
require XML::Atom::Entry;
require RPC::XML;
require RPC::XML::Client;
require XML::LibXSLT;
BEGIN{@ISA = qw ( LWP::UserAgent );}

So substitute 'URI' for 'lwca' in his list of prerequirements and you'll be fine.
posted by sbutler at 8:22 PM on December 4, 2005

Response by poster: Thanks! How did you do that?
posted by joshuaconner at 9:48 PM on December 4, 2005

and if you don't have a command line compiler, you may run into issues when installing modules in windows. Try using PPM or PPM3 on the command line for your module installation needs.
posted by boo_radley at 9:48 PM on December 4, 2005

Thanks! How did you do that?

Well, the answer is right in my output:

egrep '\b(use|require|ISA)\b'

I searched the file for the perl commands involved in loading the modules (in 99.99% of the cases): use, require, and ISA (which doesn't really load modules, but is important anyway). The '\b' makes sure that these words occur on word boundaries, so I don't get matches for '$usage' and the like. I used 'egrep' because I can never remember what constitutes an extended regular expression and a standard one.

To answer your question another way, I've been programming for the last fifteen years and have been using perl on and off for six of those. Not to sound too pretentious, but I hardly have to think to generate a list like that.
posted by sbutler at 10:21 PM on December 4, 2005

« Older Is the domain I'm acquiring tainted by its past...   |   How do I get my library to fully sync with my iPod... Newer »
This thread is closed to new comments.