Strawberry Perl

Last updated
Strawberry Perl
Developer(s) Adam Kennedy and others.
Stable release
5.38.0.1 [1] / July 20, 2023;5 months ago (2023-07-20)
Written in Perl
Platform Win32, Win64
Type Perl distribution
License GNU Public License or the Artistic License
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-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.

Contents

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:

Related Research Articles

The Comprehensive Perl Archive Network (CPAN) is a repository of over 250,000 software modules and accompanying documentation for 39,000 distributions, written in the Perl programming language by over 12,000 contributors. CPAN can denote either the archive network or the Perl program that acts as an interface to the network and as an automated software installer. Most software on CPAN is free and open source software.

<span class="mw-page-title-main">Cygwin</span> Unix subsystem for Windows machines

Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin's purpose is expressed in its motto: "Get that Linux feeling – on Windows".

<span class="mw-page-title-main">Linux distribution</span> Operating system based on the Linux kernel

A Linux distribution is an operating system made from a software collection that includes the Linux kernel and often a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.

<span class="mw-page-title-main">Perl</span> Interpreted programming language first released in 1987

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".

<span class="mw-page-title-main">Package manager</span> Software tools for handling software packages

A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.

<span class="mw-page-title-main">Source Mage</span> Linux distribution

Source Mage is a Linux distribution. As a package is being installed, its source code is automatically downloaded, compiled, and installed. Source Mage is descended from Sorcerer.

Linux From Scratch (LFS) is a type of a Linux installation and the name of a book written by Gerard Beekmans, and as of May 2021, mainly maintained by Bruce Dubbs. The book gives readers instructions on how to build a Linux system from source. The book is available freely from the Linux From Scratch site.

MinGW, formerly mingw32, is a free and open source software development environment to create Microsoft Windows applications.

The PHP Extension and Application Repository, or PEAR, is a repository of PHP software code. Stig S. Bakken founded the PEAR project in 1999 to promote the re-use of code that performs common functions. The project seeks to provide a structured library of code, maintain a system for distributing code and for managing code packages, and promote a standard coding style. Though community-driven, the PEAR project has a PEAR Group which serves as the governing body and takes care of administrative tasks. Each PEAR code package comprises an independent project under the PEAR umbrella. It has its own development team, versioning-control and documentation.

Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages.

XS is a Perl foreign function interface through which a program can call a C or C++ subroutine. XS or xsub is an abbreviation of "eXtendable Subroutine".

The Perl Object Environment or POE is a library of Perl modules written in the Perl programming language by Rocco Caputo et al.

<span class="mw-page-title-main">LAMP (software bundle)</span> Acronym for a common web hosting solution

LAMP is an acronym denoting one of the most common software stacks for many of the web's most popular applications. However, LAMP now refers to a generic software stack model and its components are largely interchangeable.

Perl Package Manager (PPM) is a Perl utility intended to simplify the tasks of locating, installing, upgrading and removing software packages. It can determine if the most recent version of a software package is installed on a system, and can install or upgrade that package from a local or remote host.

ActivePerl is a distribution of Perl from ActiveState for Windows, macOS, Linux, Solaris, AIX and HP-UX.

A software repository, or repo for short, is a storage location for software packages. Often a table of contents is also stored, along with metadata. A software repository is typically managed by source or version control, or repository managers. Package managers allow automatically installing and updating repositories, sometimes called "packages".

Perl Archive Toolkit (PAR) is a cross-platform packaging and deployment tool for computer applications and libraries written in the Perl programming language. Its name is inspired by Java's JAR technology. It was originally developed by Audrey Tang and is now maintained via the PAR development mailing list with help from numerous contributors.

The following outline is provided as an overview of and topical guide to the Perl programming language:

Mingw-w64 is a free and open source software development environment to create (cross-compile) Microsoft Windows PE applications. It was forked in 2005–2010 from MinGW.

References

  1. "Strawberry Perl for Windows - Release Notes" . Retrieved December 31, 2023.