Strawberry Perl

Strawberry Perl
Developer(s) Adam Kennedy and others.
Stable release
5.24.0.1[1] / May 11, 2016 (2016-05-11)
Written in Perl
Platform Win32, Win64
Type Perl distribution
License GNU Public License or the Artistic License[2]
Website www.strawberryperl.com

Strawberry Perl is a distribution of the Perl programming language for the Microsoft Windows platform. Additionally, strawberry contains a fully featured MinGW 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

As of April 2013, Strawberry Perl consists of:

Comparison with other distributions

With ActivePerl

ActivePerl allows installation of packages specially packaged for Windows, called PPMs, so users can easily install popular Perl modules. Several large repositories of such prepackaged modules are available, including an official repository hosted by ActiveState. 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 may be simpler 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 such problems.

Strawberry Perl is more Unixy in principle and while it is good at popular Perl tasks (like text processing), it falls short in Windows GUI framework support and direct Win32 API access (for example to automate Windows or rapidly develop a user interface) which its competitor does very well if you install the correct libraries.

References

This article is issued from Wikipedia - version of the 5/27/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.