Strawberry Perl is a distribution of the
Perl
Perl is a family of two High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it ...
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
for the
Microsoft Windows platform. Additionally, strawberry contains a fully featured
Mingw-w64 C/C++ compiler with many libraries included. 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 Software Inc 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 ...
) 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
This page is intended to list all current compilers, compiler generators, interpreters, translators, tool foundations, assemblers, automatable command line interfaces ( shells), etc.
Ada Compilers
ALGOL 60 compilers
ALGOL 68 compilers
cf. ...
and development environment to install successfully. Most Perl distributions assume that such an environment - which is usually provided with most
Unix
Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
or
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
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 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
* A
Mingw-w64 distribution, consisting of
gcc,
ld,
gmake 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, but also include various tools that enhance the ability to install packages from other sources such as the
Perl Archive Toolkit, the
Perl package manager and the Perl Installation Program.
References
{{Reflist
External links
Official website
Perl software