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:
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;
# use Win32::OLE, Win32::API, and Win32::TieRegistry use win q( ole, api, tieregistry(Delimiter=>"/") );
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 UNIVERSAL.pm. 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.
Mike Accardo <firstname.lastname@example.org> 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