Win32 Perl Programming: The Standard Extensions / Edition 2

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $1.99
Usually ships in 1-2 business days
(Save 96%)
Other sellers (Paperback)
  • All (8) from $1.99   
  • New (4) from $40.52   
  • Used (4) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2008

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

Brand New, Perfect Condition, Please allow 4-14 business days for delivery. 100% Money Back Guarantee, Over 1,000,000 customers served.

Ships from: Montgomery, IL

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2007

Feedback rating:


Condition: New

Ships from: Avenel, NJ

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2008

Feedback rating:


Condition: New

Ships from: Chicago, IL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2015

Feedback rating:


Condition: New

Ships from: Idyllwild, CA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
Page 1 of 1
Showing All
Sort by


This book is a guide to Perl¿s most common Win32 extensions, grouped by their functionality. The new edition updates coverage from Perl 5.05 to current Perl version 5.6. It also includes new chapters offering critical, badly-needed information regarding security for Win32Perl, the topic most highly requested by reviewers. The appendices have descriptions and syntax of each function in the extensions covered. Each chapter makes extensive use of code segments to illustrate the use of specific functions and real world scenarios in which these functions can be used.

Read More Show Less

Product Details

  • ISBN-13: 9781578702169
  • Publisher: Sams
  • Publication date: 9/28/2001
  • Series: Circle Series
  • Edition description: New Edition
  • Edition number: 2
  • Pages: 724
  • Product dimensions: 6.00 (w) x 9.00 (h) x 1.60 (d)

Meet the Author

Dave Roth is the contributor of various popular Win32 Perl Extensions, including Win32::ODBC, Win32::AdminMisc, Win32::Daemon, and Win32::Perms, and has been providing solutions to the Perl community since 1994. Dave has been a speaker at the O¿Reilly Perl and USENIX LISA NT conferences. He has contributed to The Perl Journal and is the author of Win32 Perl Scripting: The Administrator¿s Handbook (1578702151, New Riders, 10/00). Dave has been programming since 1981 in various languages, from assembler to C++, LPC and Perl. His code is used by organizations as diverse as Microsoft, the U.S. Department of Defense, Disney, Industrial Light and Magic, Digital Paper,Hewlett-Packard, Metagenix, Radcom, and various colleges and universities. Formerly, Dave helped assemble and admister a statewide WAN for the state of Michigan, and he has designed and administered LANs for Ameritech and Michigan State University.

Read More Show Less

Read an Excerpt

Chapter 1: Why Perl on Your Win32 Machine?

All operating systems have ways of automating procedures and tasks. Usually this is done by collecting a series of commands in a file and having some way of executing these commands. Typically, this is performed by a program called a shell. UNIX users have been fortunate to have a myriad of shells to choose from: the C shell, the Bourne shell, and the Bourne Again shell (BASH), just to name a few. These shells are rich in function and can perform some complex command processing. You could even consider these shells programming environments. In the Microsoft operating systems, however, there has only been the command processor.

The command processor is the default shell for various versions of Microsoft DOS. This shell has had minimal functions for processing hatched commands. This has forced administrators to write slightly complex programs in some languages such as C, Pascal, and BASIC. Only the most simple of tasks can be automated using the command processor's batching capabilities.

History of Win32 Perl

Win32 platforms started to ship with a command processor that was modified to perform more complicated functions. These modifications, however, were far from sufficient for most administrators. It wasn't until Microsoft contracted with Dick Hardt's team at Hip Communications to port Perl to the Win32 platform that administrators had any hope of a decent freeware scripting utility. It was 1995 when the early versions of the Win32compatible version of Perl started to find their way onto machines across the globe.

Not only did Hip Communications' Win32 Perl provide most of the functionality of the UNIX flavors of Perl, it also extended itself into the Win32 API. This provided an interface into the Win32-specific world of administration. Now it was possible not only to process Perl scripts, but also to access the computer's Registry, event logs, user databases, and various other features that are found only on Windows 95 and NT.

Since the Win32 Perl debut there have been many so-called builds, with each one fixing bugs and adding more functionality to its predecessor. Hip Communications continued to develop its version of Perl build by build. To be sure, there were other versions of Perl that would run on the Win32 platform. Some were ingenious enough to implement things that eluded Hip's port, like the fork() command (as the Win32 port from Mortice Kern Systems [MKS] provided).

The Hip port finally gained the acceptance of the group of programmers committed to developing different ports of Perl (the Perl Porters group). There were technical differences between the original version of Perl and the Win32 version (for example, Hip's port used C++ classes to encapsulate Perl's functionality). These differences kept the two versions of Perl (the original "core distribution" and Hip's Win32 Port) from merging together.


More information regarding the Perl Porters group can he found at

Since Hip Communications released the original version of Win32 Perl, much has changed. Hip changed its name from Hip Communications, Inc., to ActiveWare. Then O'Reilly & Associates teamed with ActiveWare to create the ActiveState Tool Corporation. The Perl Porters group worked together with Hip (which later became ActiveWare and then even later yet renamed itself to ActiveState) to make the core distribution compile and run on the Win32 platform.

Beginning with Perl 5.005, ActiveState dubbed its Win32 build of Perl as ActivePerl. Basically, this was the core distribution version of Perl 5.005 but with the Win32 library of extensions included with the distribution package. Additionally, there are some built-in functions that are native to Win32 platforms only.

Starting with Perl v5.6 (aka Perl 5.006), both the ActiveState version of Perl and the core distribution have merged into one code base. This means that anyone can download the Perl v5.6 source code and compile it for Solaris, Macintosh, or Win32 (among other platforms). The Perl Porters group has done some incredible work to provide true crossplatform compatibility for version 5.6. This includes the much-sought-after features such as fork() emulation.

ActiveState's ActivePerl

Most users will install ActivePerl and then start using it for all sorts of scripting needs. This means that these users will download the binary distribution of ActivePerl. Alternatively, many die-hard administrators and coders will download the Perl source code so that they can manually compile the source code themselves. Many organizations require this so that an inspection can occur to guarantee that there are no security or integrity problems. This also enables an organization to compile Perl with specific modifications that are not implemented with the binary distribution from ActiveState.

There are drawbacks, however, to manually compiling Perl. If you choose to compile Perl yourself, there could be complications. You need to keep in mind that any modifications you make (such as changing the standard C macro definitions) might result in binary incompatibility. This means that extensions that were compiled for the standard ActivePerl distribution might not work with your compiled version. You would have to recompile each extension you want to use.

Another problem with compiling your own copy of Perl is that there are a couple of extra components that ActivePerl distributes with its precompiled packages that are not available in source code form. These valueadded components extend Perl beyond a simple scripting tool. These additions consist of an Information Server API (ISAPI) application called PerlIS.DLL and a Windows Shell Host engine known as PerlScript.

Perl ISAPI Support

Many Web server administrators will configure their Web servers to run Perl-based CGI (common gateway interface) scripts. This effectively allows the Web server to run programs that interact with databases and dynamically display Web pages (among other things). Such CGI scripts, however, cause the Web server to create a new Perl process for each script executed. If 1,000 users accessed the script on the server at the same time, there would be 1,000 Perl processes running concurrently. You can imagine what type of performance impact that could incur. Ideally, there would be a way to increase performance but still provide full CGI-like functionality using Perl scripts. This is where the PerlIS ISAPI application comes in.

The PerlIS.DLL file is a clever ISAPI application that enables an ISAPI server (such as a Microsoft's IIS Web server) to quickly load and run Perl scripts. This application does not cause the script to run any more quickly than it normally would, but it does speed up the loading of the script because it can cache Perl scripts in memory. On busy Web servers, this extension can make a noticeable difference in CPU use.

PerlIS performs its magic by executing scripts in the same process as the Web server itself. Therefore, there is no new process created for each script that is run, resulting in less memory use and a smaller performance hit (because there is no overhead for creating new processes). Additionally, Perl scripts are cached in memory, so there is less time overhead to load the script from disk. What is even greater is that the script is cached in its compiled state; there is no need to recompile, so even that overhead is minimized.

Even though PerlIS is a wonderfully useful tool, there are some slight limitations. See Chapter 12, "Common Mistakes and Troubleshooting," for more details.

PerlScript Support

PerlScript is ActiveState's response to scripting languages such as VBScript and JavaScript. PerIScript is a Windows Shell Host (WSH) engine that can be used anywhere other WSH engines can be used. WSH scripts can run from Active Server Pages (ASP), from macro languages (such as MS Excel or MS Word macros), or even from the command line using the WSCRIPT.EXE WSH container program.

Because a WSH engine is really a COM server, any application that can interact directly with COM (for example, Visual Basic, C, Pascal, and so on) can create instances of PerlScript. For example, a C++ program could create an instance of a PerlScript object so that it can utilize Perl's regular expression capability and even interact with Perl extensions. Such functionality could be used to provide a program with awesome macro functionality (in the form of Perl scripts). An application can use a WSH engine for scripting like macros. Consider that Microsoft Word's macro language (Visual Basic for Applications) can instantiate a Perl script by utilizing the Perl WSH engine. This also means that an application could execute Perl scripts on remote machines by using DCOM....

Read More Show Less

Table of Contents

1. Why Perl on your Win32 machine?

2. Network Administration.

3. Administration of Machines.

4. File Management.

5. Automation.

6. Communication.

7. DataAccess.

8. Processes.

9. Console, Sound, and Administrative Win32 Extensions.

10. Writing Your Own Extension.

11. Security.

12. Common Mistakes and Troubleshooting.

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)