Jump to content

英文维基 | 中文维基 | 日文维基 | 草榴社区

ActivePerl

From Wikipedia, the free encyclopedia
ActivePerl
Developer(s)ActiveState
Stable release
5.28.1[1] / May 30, 2019; 5 years ago (2019-05-30)
Websitewww.activestate.com/products/perl/

ActivePerl is a distribution of Perl from ActiveState (formerly part of Sophos) for Windows, macOS, Linux, Solaris, AIX and HP-UX.

A few main editions are available, including: Community (free, for development use only), and several paid tiers up to Enterprise that includes support for OEM licensing. It includes a version of the Perl package manager (PPM) for installing packages from CPAN, etc.

The Windows version includes an Active Scripting component for Windows Script Host (WSH) called PerlScript and an ISAPI module for embedding within Internet Information Services (IIS).

PerlScript

[edit]

PerlScript was initially solely an ActiveX Scripting Engine produced by the company ActiveState for use with Microsoft's Internet Information Services (IIS) that allows for programmers to use Perl-based code in addition to, or in place of, VBScript or JScript in the context of web servers running the ASP protocol. Subsequently Apache::ASP was created for the Apache web server, which allows for coding with only Perl, but neither VBScript nor JScript. PerlScript can also be used to write Windows Script Host-based programs, similar to VBScript.

Standalone PerlScripts can be executed if they are created with the file extension .pls, in which case they do not require enclosing XML, e.g.

use strict;
our $WScript;
$WScript->Echo("Hello, world!");

.pls files do not gain access to drag and drop WSH functionality.

PerlScripts which have the extension wsf require XML tags which specify the job id and script language, e.g.

<Job ID="DropFiles">
<script language="PerlScript">
    use strict;
    our $WScript;
    $WScript->Echo("Displaying names of dropped files");
    my $arg = $WScript->{Arguments};
    my $countArgs = $arg->{Count};
    for (my $i=0; $i<$countArgs; $i++)
    {
        $WScript->Echo($arg->Item($i));
    }
</script>
</Job>

wsf PerlScripts gain access to WSH drag and drop functionality, similarly to Perl Droplets in the now-obsolete MacPerl.

Most WSH objects are available via the implicitly created $WScript object.

See also

[edit]

References

[edit]
  1. ^ "ActivePerl 5.28 Documentation". docs.activestate.com.
[edit]