Strawberry Perl
Encyclopedia
Strawberry Perl is a distribution of the Perl programming language for the Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 platform. While most other distributions rely on the user having software development tools already set up to install certain Perl components, Strawberry Perl ships with the most commonly used tools preconfigured and packaged. It is a dramatic departure from other Perl distributions, and has influenced other distributions (such as its primary rival, the freely available but closed source ActivePerl distribution released by ActiveState
ActiveState
ActiveState is a Canadian software company headquartered in Vancouver, British Columbia. It develops, sells, and supports cross-platform development tools for dynamic languages such as Perl, PHP, Python, Ruby, and Tcl, as well as language distributions and enterprise services...

) to provide such development tools in their own distribution.

Rationale

Through the CPAN, Perl users can download any of a vast number of prepackaged modules. Many of these modules can be installed in any Perl environment; however, certain modules (XS modules) require a working C compiler and development environment to install successfully. Most Perl distributions assume that such an environment - which is usually provided with most Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 or Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 systems - already exists; however, Windows does not come with a C compiler and the required development environment, and these must be installed separately by the user or the administrator.

However, Strawberry Perl incorporates the MinGW
MinGW
MinGW , formerly mingw32, is a native software port of the GNU Compiler Collection and GNU Binutils for use in the development of native Microsoft Windows applications; MinGW can function either as a cross compiler targeting Windows or as a native toolchain run on Windows itself...

 development environment during installation. All the installed Perl tools are set up to use these built-in libraries and development tools to compile XS modules as required. This allows Strawberry Perl to use many XS modules without modification, directly from the CPAN.

Packaged tools

, Strawberry Perl consists of:
  • A Perl distribution (currently, Perl 5.12.3.0 and 5.10.1.5)
  • A MinGW
    MinGW
    MinGW , formerly mingw32, is a native software port of the GNU Compiler Collection and GNU Binutils for use in the development of native Microsoft Windows applications; MinGW can function either as a cross compiler targeting Windows or as a native toolchain run on Windows itself...

     distribution, consisting of gcc
    GNU Compiler Collection
    The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...

    , ld
    LD
    LD may refer to:In science and mathematics:*Lethal dose#, where "#" represents the percentage of test organisms killed by a specific dosage , e.g...

    , dmake and other binutils.
  • Windows installation scripts to allow Strawberry Perl to be easily uninstalled.
  • Various non-standard but widely used Perl modules. These mostly relate to ease of installation of further extensions from the CPAN
    CPAN
    CPAN, the Comprehensive Perl Archive Network, is an archive of nearly 100,000 modules of software written in Perl, as well as documentation for it. It has a presence on the World Wide Web at and is mirrored worldwide at more than 200 locations...

    , but also include various tools that enhance the ability to install packages from other sources such as the Perl Archive Toolkit
    Perl Archive Toolkit
    Perl Archive Toolkit is a cross-platform packaging and deployment tool for computer applications and libraries written in the Perl programming language. Its name is inspired by Java's JAR technology...

    , the Perl package manager
    Perl package manager
    Perl Package Manager is a Perl utility intended to simplify the tasks of locating, installing, upgrading and removing software packages...

     and the Perl Installation Program.

With ActivePerl

ActivePerl allows installation of packages specially packaged for Windows, called PPM
Perl package manager
Perl Package Manager is a Perl utility intended to simplify the tasks of locating, installing, upgrading and removing software packages...

s, so users can easily install popular Perl modules. Several large repositories of such prepackaged modules are available, including an official repository hosted by ActiveState
ActiveState
ActiveState is a Canadian software company headquartered in Vancouver, British Columbia. It develops, sells, and supports cross-platform development tools for dynamic languages such as Perl, PHP, Python, Ruby, and Tcl, as well as language distributions and enterprise services...

. However, these repositories cannot easily cope with the large number of modules currently in and continually being added to the CPAN, and it can be difficult to find new or uncommon modules in the PPMs repositories.

Since PPMs are prepackaged for Windows, they are usually far easier to install than CPAN modules in Strawberry Perl. Some CPAN modules will not work on Windows, as they rely on Unixisms or operating-system-specific tools; relying on prepackaged PPMs which are known to work on Windows can avoid many of these problems.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK