in reply to Help with porting issues to Win32

In short, unless you test it yourself, there is not much telling of whether any given module will work as expected under Win32 or not.

As a rule of thumb, if a module has a Pure Perl implementation, it will most likely work, if it makes no stupid assumptions about the file system and does not rely itself on platform specific modules or relies on sufficiently many and diverse platform specific modules, one for each platform.

Modules are distributed for Win32 in the normal CPAN fashion, but it is common for binary modules to be distributed prepackaged in ppm files plus archives, because relatively few installations of Win32 have a C compiler available.

cygwin is no cure here, as the cygwin Perl only works well with the other cygwin programs, and the predominant method of getting Perl for Win32 is to compile a native Perl for Win32 instead some crutch that ports over the GNU utilities and a badly done vestige of Unix.

Most of the problems of installation can be solved by installing the proper make program, for most cases, this is nmake.exe, from Microsoft.

If you plan to distribute to users on Win32, plan to have at least one machine in your test setup to be Win32 as well.

Your specific choice of modules seems a bit narrow-minded to me, as Term::Readline is a module which uses whatever readline functionality is available on the system, whereas Term::Readline::Gnu requires the GNU Readline library to be installed. In most cases, going with the less specific alternative or providing an adequate fallback if a module is not available will be a good way to get your program to run on a platform.

PodMaster has been, for a long time, providing Win32 ports, and I am quite sure he will share his knowledge of porting libraries and producing PPM files with you if you ask him.