in reply to Re^2: Perl for Windows ?
in thread Perl for Windows ?

Perl has lots of modules that have nothing to do with *NIX. To use those modules you need make. Let me give you an example. Consider the Template module.

The PPM for Template is listed as 1.11(from Activestate), the current version on CPAN is 2.19. I was using version 2.15 recently and came across a bug in which it does not like to using DateTime modules in the template itself( example: can be found here). The answer was to use the XS version of Template The XS version requires make(refer to Corion's post for clarity), nmake did not work. I tried to find a compiled version, and in the Template tarball the INSTALL file refers to a web site that is about 4 years out of date. I got lucky, the bug was fixed in the non-XS version of Template in 2.19, but these sorts of situations can be common.

More than a few times I have had to go back and forth between CPAN and PPM trying to get a combination of modules from either or to get the functionality that I want. It is not fun.

Replies are listed 'Best First'.
Re^4: Perl for Windows ?
by Corion (Patriarch) on Mar 01, 2008 at 16:49 UTC
    The XS version requires make (nmake did not work).

    This is wrong on at least two levels.

    There are three flavours of make-style programs for Windows Perl - nmake.exe from Microsoft, dmake.exe (originally Watcom?) and the Borland

    make.exe</p>. ActiveState Perl is the only Perl that uses and supports + PPM, and it will always be configured to use <c>nmake.exe</p>. <p>If you want to <i>install</i> modules via CPAN, you need a <c>make
    -style program. If you want to compile XS components, you need not only a make-style program but also the (exact) C compiler that your Perl was compiled with. ActiveState Perl is built using Microsoft Visual C++ 6.0 (MSVC6), so you will need that. You can get adventurous and also configure it to use the MinGW build of gcc, which then turns your ActiveState Perl into a Perl that can easily build self-contained XS distributions from CPAN as well.