Perl for Win32 Frequently Asked Questions (FAQ)

version 1.41 (20 Jan 1997)


About this document

This FAQ was assembled and is maintained by Evangelo Prodromou. Questions, comments, suggestions should be sent to evangelo@endcontsw.com.

This FAQ is in the public domain, and you're free to do what you want with it. However, if you claim it as your own work without giving the people who worked on it a little credit, you're a jerk.

Note that all code examples in this FAQ have been indented to be easy to read. If you cut-and-paste an example to a real Perl script, remember to "outdent" the code again so that the farthest-left column of code is in the first column. This can be crucial!

Items in brackets with "-ESP" at the end are editorial comments, not telepathic messages.

Interested in tautologies? Here's one for you: "All the trademarks mentioned in this document are the property of their respective owners."

The questions originally come from the perl-win32-users mailing list. Thanks to all the people on that list who have supplied suggestions and criticisms as well as info.

This FAQ is available on the World Wide Web at the following URL:

http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.txt

and in HTML form at:

http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.html


Contents of this FAQ

1. Availability and Installation
 1.1 What is Perl, and where can I get a ton of information about it?
 1.2 What Perl interpreters are available for the Win32 platform?
 1.3 Can I build perl myself from the standard distribution source code?
 1.4 Where is the Perl for Win32 interpreter available?
 1.5 How do I unzip the Perl for Win32 package?
 1.6 How do I build Perl for Win32 from the source code package?
 1.7 OK, I've got it downloaded, unzipped, and optionally built. Now what?
 1.8 What does installing do to my registry?
 1.9 How do I uninstall Perl for Win32?
 1.10 What is ActiveScripting?
 1.11 Is there an ActiveScripting version of Perl available?
 1.12 What other scripting languages are available for Win32 platforms?
 1.13 Where's Perl for Win32 5.003?
 1.14 When I double-click on the "perl.exe" icon in Explorer, I get an empty DOS window with a blinking cursor. What gives?
 1.15 When I install Perl for Win32, it says I don't have Internet Information Server, and asks if it should still install PerlIS.dll.
 . Why?
2. PerlIS
 2.1 What is ISAPI?
 2.2 What is PerlIS?
 2.3 Where can I get PerlIS?
 2.4 Why should I use PerlIS rather than Perl for Win32 (perl.exe)?
 2.5 Where's the source code for PerlIS?
3. Documentation and Support
 3.1 Where can I get documentation on Perl for Win32?
 3.2 Where can I get documentation for PerlIS?
 3.3 Is there formal support for Perl for Win32 or PerlIS?
 3.4 Are there information sources available on Perl for Win32 on the World Wide Web?
 3.5 Is there a mailing list for Perl for Win32 or PerlIS?
 3.6 Is there a Usenet newsgroup devoted to Perl for Win32 issues?
 3.7 Is there a FAQ for Perl for Win32?
 3.8 How do I report a bug in Perl for Win32?
4. Windows NT and Windows 95
 4.1 Where can I get general information on Windows NT?
 4.2 Where can I get general information on Windows 95?
 4.3 What's the equivalent of the shebang ("#!") syntax for Win32?
 4.4 What's the equivalent of chmod for Win32?
 4.5 What's the equivalent of sendmail for Win32?
 4.6 How do I schedule jobs on Win32 platforms?
 4.7 I need UNIX tool X. Where is it?
 4.8 What is a Windows NT service?
 4.9 How do I set permissions on a file?
 4.10 How do I associate Perl scripts with perl?
5. Implementation Quirks
 5.1 Function X doesn't seem to work on Perl for Win32. Why not?
 5.2 Function Y doesn't seem to work under PerlIS. Why not?
 5.3 What's the difference between Perl for Win32 and the standard distribution?
 5.4 What's the difference between running Perl for Win32 on Windows NT versus running it on Windows 95?
 5.5 Why don't my examples from the Camel book work?
 5.6 Why doesn't standard library module Z work?
 5.7 How do I make a UNIX-based script work?
 5.8 How does the chmod function work on Win32 platforms?
6. Web Server Configuration and Troubleshooting
 6.1 What HTTP servers support the Perl for Win32 interpreter?
 6.2 How do I configure the EMWAC https server to support Perl for Win32?
 6.3 How do I configure Microsoft Internet Information Server to support Perl for Win32?
 6.4 How do I configure Netscape Web servers to support Perl for Win32?
 6.5 How do I configure WebSite to support Perl for Win32?
 6.6 How do I configure Purveyor to support Perl for Win32?
 6.7 How do I configure Microsoft Personal Web Server for Windows 95 to support Perl for Win32?
 6.8 How do I configure Web Server X to support Perl for Win32?
 6.9 My program runs fine from the command line, but bombs out when run as a CGI script. Why?
 6.10 This is all such a hassle; why can't I just put perl.exe in my CGI directory and use it in my URL?
7. Web Programming (CGI and PerlIS)
 7.1 What is HTTP, and how do I get more information on it?
 7.2 What is CGI, and how do I get more information on it?
 7.3 How do I return a graphics file from a CGI script?
 7.4 My CGI scripts don't seem to run right under PerlIS. What's wrong?
 7.5 How does my script know if it's running under Perl for Win32 or PerlIS?
 7.6 What CGI modules run with Perl for Win32?
 7.7 How do I use redirection in my script?
 7.8 What are cookies and how do I use them?
 7.9 How do I get the e-mail address of the user?
 7.10 I need a CGI script to do X. Has anyone done it before?
 7.11 How do I test my CGI programs that take arguments without running them through the Web server?
 7.12 The "Content-Type" header I output from my CGI script shows up in the Web browser. What gives?
 7.13 When I try to run a CGI script from my browser, it tries to download a file of type "application/x-perl" instead. What gives?
8. General programming
 8.1 How do I change the Win32 registry?
 8.2 How do I read from/write to a named pipe?
 8.3 How do I write socket scripts?
 8.4 What's all this I hear about not being able to use a socket as a filehandle?
 8.5 How do I write a sockets server in Perl for Win32?
 8.6 How do I send or receive files by FTP?
 8.7 How do I send or receive files by HTTP?
 8.8 How do I manage user accounts with Perl for Win32?
 8.9 How do I read from and write to serial ports?
 8.10 Why doesn't the -d operator work?
 8.11 Reading from and writing to files mysteriously fails. What's wrong?
 8.12 When I try to open a file, I get a "bad argument" error. What gives?
 8.13 Why do I get an error using Perl's "here-doc" syntax (<<), that says "Can't find string terminator anywhere before EOF"?
9. Modules/sample scripts
 9.1 Many of the scripts/modules in my perl5/Lib directory don't work. Why not?
 9.2 Many of the scripts/modules I got from CPAN don't work. Why not?
 9.3 How do I access databases from my Perl script?
 9.4 Is there a way to use OLE Automation servers from my Perl script?
 9.5 Is there a way to access Data Access Objects (DAO) from my Perl script?
 9.6 Is there a way to access MAPI from my Perl script?
 9.7 How do I send SMTP (Internet) mail from my Perl script?
 9.8 Is there a DBM implementation available for Perl for Win32?
 9.9 Is there a GDBM available for Perl for Win32?
 9.10 Is there a way to do GUI programming with Perl for Win32?
 9.11 Is there a port of oraperl for Win32?
 9.12 What modules come with the Perl for Win32 distribution?
 9.13 Where can I find other modules for Perl for Win32?
 9.14 Is there a GD module available for Perl for Win32?
 9.15 Why doesn't Fcntl work?
 9.16 Why doesn't Win32::NetResource work?
 9.17 Why don't File::Find or Cwd work?
 9.18 What is CPAN and how do I use it?
 9.19 Is there a library to read or write Microsoft Office or other application files?
10. Embedding and Extending
 10.1 How do I write an extension for Perl for Win32?
 10.2 How do I embed the Perl interpreter into my C/C++ program?
 10.3 I have a program with perl embedded from the standard distribution. Why won't it compile with Perl for Win32?

This file was generated with faq2html.pl, a total kludge created just for this FAQ. If any of the links or anything are messed up, let me know and I'll fix them by hand and also fix up the converter. Actually, I'll probably spend a lot of time trying to fix the converter and never really get around to fixing them by hand. I'm available at evangelo@endcontsw.com.

The text version of this file is now and ever shall be at

http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.txt