jls has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks! I am new to this site and newer still to Win32. I am trying to write my first Perl script for Windows and am using Win32::API, but I keep getting "Can't locate Win32/API/Type.pm. I have this module in the Perl/lib/Win32 directory, along with API.pm, which it seems to find without problem. What am I doing wrong? How can I get Perl to locate this module? (I may have the same problem with Struct.pm). Thanks much, jls

Replies are listed 'Best First'.
Re: Can't locate Win32/API/Type.pm
by BrowserUk (Patriarch) on Jun 30, 2003 at 20:30 UTC

    Sounds like you did a manual install rather than use PPM or similar?

    The three files, Type.pm, Struct.pm and Callback.pm should be located in a subdirectory, API within the Win32 directory. This package is normally added below perl/site/lib rather than perl/lib though thats more convention than required.

    To clarify, this is what the directory structure should look like for the whole Win32::Api package starting at lib directory (whether this is perl/lib or perl/site/lib).

    lib/Win32/API.pm lib/Win32/API/Type.pm lib/Win32/API/Struct.pm lib/Win32/API/Callback.pm lib/auto/Win32/API/API.dll lib/auto/Win32/API/API.exp lib/auto/Win32/API/API.lib lib/auto/Win32/API/Callback/Callback.dll lib/auto/Win32/API/Callback/Callback.exp lib/auto/Win32/API/Callback/Callback.lib

    Unless you have particular reasons for not being able to use PPM or CPAN to install packages, then you will probably find one of these methods much simpler. See tachyon's A Guide to Installing Modules for an introduction if you havent tried this before. Start by looking at the section entitled "PPM".

    There are other, possible more detailed examples of using PPM around the Monastery, but this was the first one Super Search turned up.


    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller