ActiveState!

ActivePerl Documentation
Table of Contents

(Usage Statistics)
(about this ver)


* Getting Started
    * Welcome To ActivePerl
    * Release Notes
    * Readme
    * ActivePerl Change Log
* Install Notes
    * Linux
    * Solaris
    * Windows
* ActivePerl Components
    * Overview
    * PPM
    * Windows Specifics
       * OLE Browser
       * PerlScript
       * Perl for ISAPI
       * PerlEZ
* ActivePerl FAQ
    * Introduction
    * Availability & Install
    * Using PPM
    * Docs & Support
    * Windows Specifics
       * Perl for ISAPI
       * Windows 9X/NT/2000
       * Quirks
       * Web Server Config
       * Web programming
       * Programming
       * Modules & Samples
       * Embedding & Extending
       * Using OLE with Perl
* Windows Scripting
    * Active Server Pages
    * Windows Script Host
    * Windows Script Components

Core Perl Documentation


* perl
* perlfaq
* perltoc
* perlbook

* perlsyn
* perldata
* perlop
* perlreftut
* perldsc
* perllol

* perllexwarn
* perldebug

* perlrun
* perlfunc
* perlopentut
* perlvar
* perlsub
* perlmod
* perlpod

* perlstyle
* perlmodlib
* perlmodinstall
* perltrap
* perlport
* perlsec

* perlref
* perlre
* perlform
* perllocale
* perlunicode

* perlboot
* perltoot
* perltootc
* perlobj
* perlbot
* perltie

* perlipc
* perlnumber
* perlfork
* perlthrtut

* perldiag
* perlfaq1
* perlfaq2
* perlfaq3
* perlfaq4
* perlfaq5
* perlfaq6
* perlfaq7
* perlfaq8
* perlfaq9

* perlcompile

* perlembed
* perlxstut
* perlxs
* perlguts
* perlcall
* perlfilter
* perldbmfilter
* perlapi
* perlintern
* perlapio
* perltodo
* perlhack

* perlhist
* perldelta
* perl5005delta
* perl5004delta

* perlamiga
* perlcygwin
* perldos
* perlhpux
* perlmachten
* perlos2
* perlos390
* perlvms
* perlwin32

Pragmas


* attributes
* attrs
* autouse
* base
* blib
* bytes
* charnames
* constant
* diagnostics
* fields
* filetest
* integer
* less
* lib
* locale
* lwpcook
* open
* ops
* overload
* perllocal
* re
* sigtrap
* strict
* subs
* utf8
* vars
* warnings

Libraries


* ActivePerl
    * DocTools
        * TOC
            * RDF
* AnyDBM_File
* Archive
    * Tar
* AutoLoader
* AutoSplit
* B
    * Asmdata
    * Assembler
    * Bblock
    * Bytecode
    * C
    * CC
    * Debug
    * Deparse
    * Disassembler
    * Lint
    * Showlex
    * Stackobj
    * Terse
    * Xref
* Benchmark
* Bundle
    * LWP
* ByteLoader
* Carp
    * Heavy
* CGI
    * Apache
    * Carp
    * Cookie
    * Fast
    * Pretty
    * Push
    * Switch
* Class
    * Struct
* Compress
    * Zlib
* Config
* CPAN
    * FirstTime
    * Nox
* Cwd
* Data
    * Dumper
* DB
* Devel
    * DProf
    * Peek
    * SelfStubber
* Digest
    * HMAC
    * HMAC_MD5
    * HMAC_SHA1
    * MD2
    * MD5
    * SHA1
* DirHandle
* Dumpvalue
* DynaLoader
* English
* Env
* Errno
* Exporter
    * Heavy
* ExtUtils
    * Command
    * Embed
    * Install
    * Installed
    * Liblist
    * MakeMaker
    * Manifest
    * Miniperl
    * Mkbootstrap
    * Mksymlists
    * MM_Cygwin
    * MM_OS2
    * MM_Unix
    * MM_VMS
    * MM_Win32
    * Packlist
    * testlib
* Fatal
* Fcntl
* File
    * Basename
    * CheckTree
    * Compare
    * Copy
    * CounterFile
    * DosGlob
    * Find
    * Glob
    * Listing
    * Path
    * Spec
        * Functions
        * Mac
        * OS2
        * Unix
        * VMS
        * Win32
    * stat
* FileCache
* FileHandle
* FindBin
* Font
    * AFM
* Getopt
    * Long
    * Std
* HTML
    * AsSubs
    * Element
    * Entities
    * Filter
    * Form
    * FormatPS
    * Formatter
    * FormatText
    * HeadParser
    * LinkExtor
    * Parse
    * Parser
    * TokeParser
    * TreeBuilder
* HTTP
    * Cookies
    * Daemon
    * Date
    * Headers
        * Util
    * Message
    * Negotiate
    * Request
        * Common
    * Response
    * Status
* I18N
    * Collate
* IO
    * Dir
    * File
    * Handle
    * Pipe
    * Poll
    * Seekable
    * Select
    * Socket
        * INET
        * UNIX
* IPC
    * Msg
    * Open2
    * Open3
    * Semaphore
    * SysV
* LWP
    * Debug
    * MediaTypes
    * MemberMixin
    * Protocol
    * RobotUA
    * Simple
    * UserAgent
* Math
    * BigFloat
    * BigInt
    * Complex
    * Trig
* MD5
* MIME
    * Base64
    * QuotedPrint
* NDBM_File
* Net
    * Cmd
    * Config
    * Domain
    * DummyInetd
    * FTP
    * hostent
    * libnetFAQ
    * netent
    * Netrc
    * NNTP
    * PH
    * Ping
    * POP3
    * protoent
    * servent
    * SMTP
    * SNPP
    * Time
* O
* ODBM_File
* Opcode
* Pod
    * Checker
    * Find
    * Html
    * InputObjects
    * Man
    * Parser
    * ParseUtils
    * Plainer
    * Select
    * Text
        * Color
        * Termcap
    * Usage
* POSIX
* PPM
    * SOAPClient
    * SOAPServer
* Safe
* SDBM_File
* Search
    * Dict
* SelectSaver
* SelfLoader
* SHA
* Shell
* SOAP
    * Defs
    * Envelope
    * EnvelopeMaker
    * GenericHashSerializer
    * GenericInputStream
    * GenericScalarSerializer
    * Lite
    * OutputStream
    * Packager
    * Parser
    * Transport
        * HTTP
            * Apache
            * CGI
            * Client
            * Server
        * LOCAL
        * MAILTO
        * POP3
        * TCP
    * TypeMapper
* Socket
* Symbol
* Sys
    * Hostname
    * Syslog
* Term
    * ANSIColor
    * Cap
    * Complete
    * ReadLine
* Test
    * Harness
* Text
    * Abbrev
    * ParseWords
    * Soundex
    * Tabs
    * Wrap
* Thread
    * Queue
    * Semaphore
    * Signal
    * Specific
* Tie
    * Array
    * Handle
    * Hash
    * RefHash
    * Scalar
    * SubstrHash
* Time
    * gmtime
    * Local
    * localtime
    * tm
* UDDI
    * Lite
* UNIVERSAL
* URI
    * data
    * Escape
    * file
    * Heuristic
    * ldap
    * URL
    * WithBase
* User
    * grent
    * pwent
* Win32
    * AuthenticateUser
    * ChangeNotify
    * Clipboard
    * Console
    * Event
    * EventLog
    * File
    * FileSecurity
    * Internet
    * IPC
    * Mutex
    * NetAdmin
    * NetResource
    * ODBC
    * OLE
        * Const
        * Enum
        * NEWS
        * NLS
        * TPJ
        * Variant
    * PerfLib
    * Pipe
    * Process
    * Registry
    * Semaphore
    * Service
    * Sound
    * TieRegistry
* Win32API
    * File
    * Net
    * Registry
* WWW
    * RobotRules
        * AnyDBM_File
* XML
    * Element
    * Parser
        * Expat
    * PPD
    * PPMConfig
    * ValidatingElement
* XSLoader


ActivePerl Change Log

For the latest information on ActivePerl, please see:

    http://www.ActiveState.com/ActivePerl/

Build 623 Sunday, December 12, 2000

Bug Fixes and Changes

  • Windows 95, Windows 98 and Windows Me Installation

    Installer now adds Perl/bin directory to the PATH environment variable for Windows 9x. Windows 9x will need to be rebooted for this to take effect.

    The PATH settings are not removed after an uninstallation.

  • PPM updated to 2.1.2. It now uses SOAP-Lite and has drastically reduced bandwidth requirements for SUMMARY requests. This is a prerequisite for supporting the new PPM repository containing most of CPAN.

  • OLE Browser has been fixed to work on IE 5.5.

  • minor bug fixes to fork() emulation and duplication of socket handles on Windows 9X.

Build 622 Sunday, November 5, 2000

Bug Fixes and Changes

  • Custom build for ActivePerl CDROM

  • MSI installer addes the CDROM repository to the ppm.xml file (Windows only)

Build 620 Sunday, October 29, 2000

Bug Fixes and Changes

  • bug fixes in environment setup for backticks and system()

PerlScript

  • works now with IIS5. Previously ASP would sometimes return an empty page when the page was accessed simultaneously from multiple clients.

  • supports OLE objects as parameters (VT_DISPATCH)

  • various namespace / package setup problems fixed

  • STDIN/STDOUT/STDERR are now available when run under WSH

  • JScript and VBScript functions can be called directly (on ASP pages)

Documentation

  • Commandline parameters for MSI installer documented (installation notes)

  • Win32 builtin documentation moved from Pod to Modules

Modules

  • CGI.pm updated to 2.74

  • Win32API::Net updated to version 0.09

Build 618 Tuesday, September 12, 2000

Bug Fixes and Changes

  • Bug fixes imported from the Perl development track. See the following file for the detailed log:
        http://www.ActiveState.com/download/ActivePerl/src/5.6/AP618_diff.txt

    Individual patches for each of these changes may also be obtained. See perlhack.

  • Perl's newSVrv() API function could result in corrupt data when coercing an already initialized value to the right type, and could also lead to memory leaks. Win32::OLE v0.14 tickled these bugs. newSVrv() has been fixed to resolve these issues.

  • Perl's optimizer could coredump on stacked assignments involving split(), such as @a = @b = split(...). This is now fixed.

  • Windows sockets weren't being initialized correctly in child threads if the parent already initialized it. This resulted in print() on a socket created under such conditions not being handled correctly (whereas send() would do the right thing). The problem has been fixed.

  • Win32::OLE v0.14 had a bug that could cause strings longer than 256 characters to be truncated by a single character. This has been corrected.

Build 617 Thursday, August 31, 2000

Bug Fixes and Changes

  • Bug fixes imported from the Perl development track. See the following file for the detailed log:
        http://www.ActiveState.com/download/ActivePerl/src/5.6/AP617_diff.txt

    Individual patches for each of these changes may also be obtained. See perlhack.

  • Problems with backticks not returning a proper return code under Windows 9x have been fixed. Linux, Solaris and Windows NT/2000 weren't affected.

  • wait() and waitpid() now return the correct pid values for pseudo-pids on Windows.

  • New entries added to the end of the environment via %ENV did not get inherited by child processes on Windows. This has been corrected.

  • Build 616 introduced a change that could make close(SOCKET) return a bogus return value. This has been corrected.

  • Various minor PerlScript incompatibilities under Internet Explorer 5.5 on Windows have been corrected.

  • Perl for ISAPI and PerlScript do not add entries to the EventLog by default.

  • libnet v1.06 is now included with ActivePerl. To configure the site-specific defaults for libnet, run $Config{installprefix}/bin/libnetcfg.pl.

  • Digest-MD5 v2.11 is now included with ActivePerl.

  • Several bundled extensions have been upgraded to newer versions. URI v1.09, libwww-perl v5.48, Compress-Zlib v1.08 and libwin32 v0.17 are now included.

  • The included HTML documentation has been improved and updated to be current with the latest modules.

  • The HtmlHelp.pm module is no longer included with ActivePerl. If you want this module, please obtain it from a release prior to ActivePerl 617.

Build 616 Friday, July 14, 2000

Bug Fixes and Changes

  • Bug fixes imported from the Perl development track. See the following file for the detailed log:
        http://www.ActiveState.com/download/ActivePerl/src/5.6/AP616_diff.txt

    Individual patches for each of these changes may also be obtained. See perlhack.

  • A bug in Win32::OLE that prevented PerlScript from working properly has been fixed.

  • On Windows, a small memory leak in the accept() builtin function has been fixed.

  • On Windows, creating sockets in pseudo-child processes did not work because Winsock was not initialized in the pseudo-process. This has been rectified.

Build 615 Thursday, June 29, 2000

Bug Fixes and Changes

  • Bug fixes imported from the Perl development track. See the following file for the detailed log:
        http://www.ActiveState.com/download/ActivePerl/src/5.6/AP615_diff.txt

    Individual patches for each of these changes may also be obtained. See perlhack.

  • On Unix platforms, ActivePerl is now built with the -Duseithreads Configure option, just as on Windows. While this provides a functionally identical perl, it also makes this build binary incompatible with earlier builds on Unix platforms. If you had installed any extensions (i.e. modules with XS code) using earlier builds via PPM or otherwise, you will need to reinstall them under this build. Future builds will maintain binary compatibility with this one.

    On Windows, this build continues to be binary compatible with build 613.

  • The installation location for the native installations on Unix (RedHat RPM, Debian dpkg, or Solaris pkgadd) have changed. These packages will now be installed under /usr/local/ActivePerl-5.6/ rather than under /usr/local/perl-5.6. This one-time change avoids confusion with locally installed versions built from the sources, and also avoids installing on top of existing binary-incompatible build 613 installations.

    The installation location can be chosen as usual on Windows, and when installing using the generic installers on Unix.

  • On Windows, chdir() could sometimes fail to return failure when given a non-existent directory, and UNC paths didn't work correctly. These problems have been corrected.

  • The libwin32 v0.16 release from CPAN is included for the Windows builds.

  • Various small PPM bugs have been fixed.

  • A bug in PerlScript that prevented it from working under IIS5 on Windows 2000 has been fixed.

Build 613 Thursday, March 23, 2000

Bug Fixes and Changes

  • This build corresponds to the Perl 5.6.0 source code release.

  • This package contains some files that were missing in build 612.

Build 612 Wednesday, March 22, 2000

Bug Fixes and Changes

  • This build corresponds to the Perl 5.6.0 source code release.

  • This build incorporates mostly minor bug fixes between 5.6.0 release candidate 2 and the final 5.6.0 source code release. See perldelta for a detailed summary of changes between 5.005 and 5.6.0.

Build 611 Wednesday, March 15, 2000

Bug Fixes and Changes

  • This build corresponds to the Perl 5.6.0 release candidate 2 sources.

  • binmode() now supports a second optional argument that can be used to switch a file handle to ``:crlf'' or ``:raw'' mode. (These correspond to the traditional text and binary modes.) See perlfunc/binmode.

  • The new open pragma can be used to set the default mode for implicitly opened handles in the current lexical scope. This is useful to set a particular mode for the results of the qx// operator. See open.

  • The bundled ActivePerl documentation has been reorganized. Outdated material has either been reworked to reflect the current status, or removed when it was no longer applicable.

  • Many bugs in the beta releases have been fixed.

Build 609 Wednesday, March 1, 2000

Bug Fixes and Changes

  • This build corresponds to the public Perl 5.6 beta 3 release, otherwise known as v5.5.670.

  • The Windows version of the installer now supports installing into paths that contain spaces.

  • Linux and Solaris install packages that allow non-privileged users to install anywhere are supported. The system-specific packaging formats that typically require root privileges continue to be available.

  • Support for kill(0,$pid) on Windows to test if process exists.

  • There is a new tutorial on Object Oriented Perl for beginners. See `perlboot'.

  • The PPM repository has been updated with newer versions of modules for all supported platforms.

Build 607 Friday, February 11, 2000

Bug Fixes and Changes

  • This build corresponds to the public Perl 5.6 beta 1 release, otherwise known as v5.5.650.

  • Several bugs in the Unicode support have been fixed.

  • Support for Unicode has changed from previous development versions. See perlunicode.pod for details.

  • There is a new -C command-line switch to request that system calls use the wide-character APIs. This can also be used in the shebang line.

  • The byte pragma can be used to force byte-semantics on Perl operations. When not used, character semantics apply if the data is Unicode; otherwise, byte semantics are used.

Build 606 Friday, February 4, 2000

Bug Fixes and Changes

  • PPM can communicate with the package repository via SOAP. Currently PPM's and SOAP's integration is somewhat limited; however, it serves as proof of concept.

  • New modules included with the distribution are:
             - SOAP
             - File::CounterFile
             - Font::AFM

  • Support for Unicode has changed from previous versions. See perlunicode.pod for details.

Build 604 Friday, November 26, 1999

Bug Fixes and Changes

  • A few bugs in the fork() emulation have been fixed. perlfork.pod reflects these changes.

Build 603 Tuesday, November 23, 1999

Bug Fixes and Changes

  • NOTE:Build 603 is not binary compatible with earlier builds. If you have compiled your own extensions with earlier builds, you will need to recompile all of them.

  • Build 603 corresponds to Perl 5.005_62. Additional patches available since 5.005_62 in the public Perl repository have been incorporated.

  • Preliminary support for fork() is included. See the perlfork.pod document for details about this functionality.

  • Documentation in fully searchable HTMLHelp format is included.

  • Many of the included extensions from CPAN have been updated to newer versions.

  • A large number of minor bugs in the Perl core have been fixed. See the Changes file in the included sources for a detailed list.

Build 602 Thursday, August 5, 1999

Bug Fixes and Changes

  • Build 602 corresponds to Perl 5.005_60. Additional patches available since 5.005_60 in the public Perl repository have been incorporated.

  • A number of pre-built extensions from CPAN are included in this release. These may be installed using PPM or VPM (both of which are included).

Build 601 Tuesday, July 13, 1999

Bug Fixes and Changes

  • Build 601 corresponds to Perl 5.005_57. Additional patches available since 5.005_57 in the public Perl repository have been incorporated.

  • This build features a major reworking of the API exposed by the PERL_OBJECT build option. The result is a well-defined Perl API (restricted to C syntax) that provides very high degree of compatibility for extensions available from CPAN.

  • Perl for ISAPI, PerlScript, PerlEz and PerlMsg have been modified to use the new PERL_OBJECT API.

  • Visual Package Manager (VPM) is now available. VPM can be used to install pre-built binaries from a package repository. One such is available at http://www.activestate.com/packages/perl5_6/.

What's new in the 600 Series

Major Changes

  • This series is built around development versions of Perl 5.006. Build 600 corresponds to Perl 5.005_57.

  • Significant changes that have occurred in the 5.006 development track are documented in perldelta.

  • Build 600 includes additional changes for supporting globalization. All Win32 API calls made by Perl now follow the utf8 mode of the interpreter. Wide versions of the API calls are made when utf8 is in effect. See utf8 for more information on enabling support for Unicode.

  • use caller provides a way for modules to inherit the utf8 mode of the calling context. See caller for more information.

  • The 600 series is not binary compatible with builds in the 500 series. Any extensions built using binaries from the ActivePerl 500 series will need to be recompiled. Note especially that this applies to PPDs that may have been built for 500 series builds.