Strawberry Perl is a distribution of the
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
for the
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
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
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 ...
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 and secure software supply chain solutions for dynamic languages such as ...
) to provide such development tools in their own distribution.
Rationale
Through the
CPAN
The Comprehensive Perl Archive Network (CPAN) is a software repository of over 220,000 software modules and accompanying documentation for 45,500 distributions, written in the Perl programming language by over 14,500 contributors. ''CPAN'' can de ...
, 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
C, or c, is the third letter of the Latin alphabet, used in the modern English alphabet, the alphabets of other western European languages and others worldwide. Its name in English is ''cee'' (pronounced ), plural ''cees''.
History
"C ...
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, multi-user 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 ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
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 ("Minimalist GNU for Windows"), formerly mingw32, is a free and open source software development environment to create Microsoft Windows applications.
MinGW includes a port of the GNU Compiler Collection (GCC), GNU Binutils for Windows ...
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
The GNU Binary Utilities, or , is a collection of programming tools maintained by the GNU Project for working with executable code including assembly, linking and many other development operations.
The tools are originally from Cygnus Solut ...
.
* 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
The Comprehensive Perl Archive Network (CPAN) is a software repository of over 220,000 software modules and accompanying documentation for 45,500 distributions, written in the Perl programming language by over 14,500 contributors. ''CPAN'' can de ...
, 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