++ed by:

6 PAUSE users
4 non-PAUSE users.

Curtis Jewell
and 1 contributors


Perl::Dist::Strawberry - Strawberry Perl for win32


Strawberry Perl is a binary distribution of Perl for the Windows operating system. It includes a bundled compiler and pre-installed modules that offer the ability to install XS CPAN modules directly from CPAN.

The purpose of the Strawberry Perl series is to provide a practical Win32 Perl environment for experienced Perl developers to experiment with and test the installation of various CPAN modules under Win32 conditions, and to provide a useful platform for doing real work.

Strawberry Perl includes:

  • Perl 5.8.9 or Perl 5.10.0

  • MingW GCC C/C++ compiler

  • Dmake "make" tool

  • Every bundled and dual-life module upgraded to the latest version.

  • Bundle::CPAN, Bundle::LWP and CPAN::SQLite to enhance the functionality of the CPAN client.

  • Additional Perl modules that enhance the stability of core Perl for the Win32 platform

  • Modules that enhance the ability to install non-CPAN packages such as PAR::Dist, PPM and pip.

  • Prebuilt and known-good C libraries for math, crypto and XML support.

  • Additions that provide Portable support.

The Perl::Dist::Strawberry module available on CPAN contains the modules and perldist_strawberry script that are used to generate the Strawberry Perl installers.

Please note that Perl::Dist::Strawberry does not include the resulting Strawberry Perl installer. See the Strawberry Perl website at http://strawberryperl.com/ to download the Strawberry Perl installer.

See Perl::Dist::WiX for details on how the underlying distribution construction toolkit works.


Strawberry Perl is and will continue to be based on the latest "stable" releases of Perl, currently 5.8.9, and 5.10.0.

Some additional modifications are included that improve general compatibility with the Win32 platform or improve "turnkey" operation on Win32.

Whenever possible, these modifications will be made only by preinstalling additional or updated CPAN modules within Strawberry Perl, particularly modules that have been newly included as core Perl modules in the "development" branch of perl to address Win32 compatibility issues.

Additionally, a stub CPAN Config.pm file is added. This provides a complete zero-conf preconfiguration for CPAN, using a stable http://cpan.strawberryperl.com/ redirector to bounce to a known-reliable mirrors.

A more-thorough network-aware zero-conf capability is currently being developed and will be included at a later time.

Strawberry has never patched the Perl source code or modified the perl.exe binary.


At present, Strawberry Perl must be installed in C:\strawberry. The executable installer adds the following environment variable changes:

  * Adds directories to PATH
    - C:\strawberry\perl\bin  
    - C:\strawberry\c\bin  

Users installing Strawberry Perl without the installer will need to add the environment entries manually.


In addition to extending various underlying Perl::Dist::WiX methods, Strawberry Perl adds some additional methods that provide installation support for miscellaneous tools that have not yet been promoted to the core.



The default_machine class method is used to setup the most common machine for building Strawberry Perl.

The machine provided creates a standard 5.8.8 distribution (.zip and .exe), a standard 5.8.9 distribution (.zip and .exe), a standard 5.10.0 distribution (.zip and .exe) and a Portable-enabled 5.10.0 distribution (.zip only).

Returns a Perl::Dist::Machine object.



The install_path method can be used to install a copy of the Unix patch program into the distribution.

Returns true or throws an exception on error.



Installs the PPM module, and then customises the temp path to live underneath the strawberry dist.


  $dist->install_win32_manifest( 'WX Perl' => 'perl', 'bin', 'wxperl.exe' );

Installs a manifest file to make an executable binary look like a "real" Win32 program.



Installs DBD::mysql from the PAR files on the Strawberry Perl web site.



Installs DBD::Pg from the PAR files on the Strawberry Perl web site.



The install_pari method install (via a PAR package) libpari and the Math::Pari module into the distribution.

This method should only be called at during the install_modules phase.


Bugs should be reported via the CPAN bug tracker at


Please note that only bugs in the distribution itself or the CPAN configuration should be reported to RT. Bugs in individual modules should be reported to their respective distributions.

For more support information and places for discussion, see the Strawberry Perl Support page http://strawberryperl.com/support.html.


Adam Kennedy <adamk@cpan.org>

Curtis Jewell <csjewell@cpan.org>


Copyright 2007 - 2009 Adam Kennedy. Copyright 2009 Curtis Jewell.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.