If you use Perl on a Win32 system, a number of extension modules are available to provide Windows-specific functionality. Extension modules consist of a regular module written in Perl and a library written in C or C++ that can implement native Windows calls. The core of available modules is bundled together as lib-win32 on CPAN, and with ActivePerl, Activestate’s version of Perl for Win32. They provide such functionality as managing Windows processes, NT user administration, registry modification, and OLE automation.
The Win32 modules were originally written for Windows NT systems, so much of the functionality of the Win32 library is applicable only to Perl running on Windows NT. Many modules check to see which system they are on before installing. Many of the NT-specific modules such as NetAdmin and EventLog do not install at all on Windows 95. Modules such as Registry do their best to work on both systems, despite the differences in their registries.
This chapter covers most of the modules and extensions included in lib-win32 and distributed with ActivePerl. Additional Windows modules are available at CPAN.
The following modules are described in this chapter:
Provides Windows clipboard interaction
Provides Windows console interaction
Creates and uses ChangeNotify objects
Reads from and writes to the Windows NT event log
Manages file attributes (read-only, system, hidden, etc.)
Manages ACLs in Perl
Provides extensions for Internet services
Waits for objects (processes, mutexes, semaphores)
Creates and uses mutexes
Administers users and groups
Manages resources (servers, file shares, printers)
Accesses the Windows NT Performance Counter
Creates a named pipe under Win32
Starts and stops Win32 processes
Reads and manages the Win32 Registry
Creates and uses semaphores
Manages Windows NT services
Provides shell link interface
In addition to this chapter, Chapter 23 covers the Win32::OLE modules, and Chapter 24 covers the ODBC extension for Win32.
The reference material for the Clipboard, Console, Internet, and Shortcut modules was graciously provided by Aldo Capini, author and maintainer of many Win32 modules (http://dada.perl.it/).
18.118.186.143