Developer(s) | Adam Kennedy and others. |
---|---|
Stable release | 5.40.0.1 [1] / August 10, 2024 |
Written in | Perl |
Platform | Win32, Win64 |
Type | Perl distribution |
License | GNU General 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.
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.
As of April 2013 [update] , Strawberry Perl consists of:
The Comprehensive Perl Archive Network (CPAN) is a software 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.
A Linux distribution is an operating system that includes the Linux kernel for its kernel functionality. Although the name does not imply product distribution per se, a distro, if distributed on its own, is often obtained via a website intended specifically for the purpose. Distros have been designed for a wide variety of systems ranging from personal computers to servers and from embedded devices to supercomputers.
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".
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.
Source Mage is a source-based Linux distribution descended from Sorcerer. Components of this operating system are downloaded as source code and compiled locally on the user's computer.
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.
Dev-C++ is a free full-featured integrated development environment (IDE) distributed under the GNU General Public License for programming in C and C++. It was originally developed by Colin Laplace and was first released in 1998. It is written in Delphi.
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.
Perl Data Language is a set of free software array programming extensions to the Perl programming language. PDL extends the data structures built into Perl, to include large multidimensional arrays, and adds functionality to manipulate those arrays as vector objects. It also provides tools for image processing, machine learning, computer modeling of physical systems, and graphical plotting and presentation. Simple operations are automatically vectorized across complete arrays, and higher-dimensional operations are supported.
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 (POE) is a library of Perl modules written in the Perl programming language by Rocco Caputo et al.
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.
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.
NimbleX is a small Slackware-based Linux distribution optimized to run from a CD, USB drive or a network environment. NimbleX has been praised for how fast it boots, as well as for its small disk footprint, which is considered surprising for a distribution using KDE as desktop environment. NimbleX was also remarked for its website that allows users to generate custom bootable images by using a web browser. It was also covered in mainstream Romanian press as the first Linux distribution put together by a Romanian.
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 suite of development tools that generate Portable Executable (PE) binaries for Microsoft Windows. It was forked in 2005–2010 from MinGW.