Strawberry Perl

Strawberry Perl is a distribution of the Perl programming language 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) 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 or Linux 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.