in reply to Win32 API question

As mentioned above, if you are using Active State perl on these machines, then Win32::API should already be installed on them. If you are using one of the other flavours, then it may not be.

If all the machines are running the same (major) version of perl (5.6.* or 5.8.*), then you need only compile modules once. They can then just be copied to the appropriate places on the target machine.

It's easy to zip up the required files on the build machine (that is running the same version of perl as the target machines), and unzip them directly into the appropriate places on the target machines. It avoids all the dependancies (nmake gzip etc.), and the 3-way duplication of files that the standard build/install mechanisms impose. The downside is you would need to write and test the scripts/procedures for doing this yourself.

PAR effectively does this for you, though you pay the small price of the 'install' (unzipping) being done each time the program is run, rather than just once if you do it manually.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^2: Win32 API question
by syphilis (Archbishop) on Jun 20, 2006 at 12:03 UTC
    if you are using Active State perl on these machines, then Win32::API should already be installed on them.

    (Very) minor quibble - ActiveState perl does not come with Win32::API ... ummm ... or do I mean the converse ... :-)
    E:\>perl -e "print $ActivePerl::VERSION" 817 E:\>perl -MWin32::API -e "print $Win32::API::VERSION" Can't locate Win32/API.pm in @INC (@INC contains: E:/Perl817/lib E:/Pe +rl817/site /lib .). BEGIN failed--compilation aborted.
    Cheers,
    Rob