win - Win32 programming and development tool


The goal of win, the Perl Win32 programming tool, is to make Perl Win32 programming simpler, quicker, and less of a hassle. The win tool seeks to achieve its goal by:

1. Addressing the integration of Win32 modules.
2. Addressing Win32 idiosyncrasies.

You can call other Win32 modules with win, so your module requests will be grouped together in one import argument. And if your system doesn't have the module you requested, win, with your permission, will download and install the module for you (using PPM).

And you never have to worry about the capatilization of those Win32 modules because win will ensure the proper case. By default, win also enables the Win32::Autoglob and Win32::Die modules.


        # use Win32::OLE and Win32::API
        use win q(ole, api);    

Notice that the module names, ole and api, are not capitalized. Of course, you can capitalize them if you like, but it doesn't matter, since win will check the package name of each module requested.

        # just use the default modules    
        use win;

This is the equivalent of saying:

        use Win32::Autoglob;
        use Win32::Die;

Another example:

        # use Win32::OLE, Win32::API, and Win32::TieRegistry

        use win q(  ole,


By default, win enables the Win32::Autoglob and Win32::Die modules

For more information about these modules, please see their documentation. More modules may be added in future releases.


Observe that arguments to import are passed via q// and not qw//. Of course, you could also use single quotes, but I prefer not to. Commas are the delimiter because they seem more appropriate than spaces. Also commas, unlike spaces, are rarely used in import arguments.

An alternative for dealing with the letter case of Win32 file names is a modification of the See:

The win tool is good for rapid prototyping and everyday Win32 scripting. I wouldn't recommend using it in distributed software, but no one is stopping you.


None known


Mike Accardo <> Comments and suggestions welcomed


Copyright (c) 2003, Mike Accardo. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the terms of the Perl Artistic License

1 POD Error

The following errors were encountered while parsing the POD:

Around line 156:

Can't have a 0 in =over 0