Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
CPAN
(section)
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Role== Like many [[programming language]]s, Perl has mechanisms to use external [[library (computing)|libraries]] of code, making one file contain common routines used by several programs. Perl calls these ''modules''. [[Perl module]]s are typically installed in one of several [[directory (computing)|directories]] whose [[path (computing)|paths]] are placed in the Perl [[interpreter (computing)|interpreter]] when it is first [[compiler|compiled]]; on [[Unix-like]] [[operating system]]s, common paths include ''/usr/lib/perl5'', ''/usr/local/lib/perl5'', and several of their subdirectories. Perl comes with a small set of ''core modules''. Some of these perform bootstrapping tasks, such as ExtUtils::MakeMaker,<ref>{{Cite web|title=ExtUtils::MakeMaker - Create a module Makefile - Perldoc Browser|url=https://perldoc.perl.org/ExtUtils::MakeMaker|access-date=2020-11-18|website=perldoc.perl.org}}</ref> which is used to create [[Makefile]]s for building and installing other extension modules; others, like List::Util,<ref>{{Cite web|title=List::Util - A selection of general-utility list subroutines - Perldoc Browser|url=https://perldoc.perl.org/List::Util|access-date=2020-11-18|website=perldoc.perl.org}}</ref> are merely commonly used. CPAN's main purpose is to help programmers locate modules and programs not included in the Perl standard distribution. Its structure is decentralized. Authors maintain and improve their own modules. Forking, and creating competing modules for the same task or purpose, is common. There is a third-party bug tracking system that is automatically set up for any uploaded distribution, but authors may opt to use a different bug tracking system such as [[GitHub]]. Similarly, though GitHub is a popular location to store the source for distributions, it may be stored anywhere the author prefers, or may not be publicly accessible at all. Maintainers may grant permissions to others to maintain or take over their modules, and permissions may be granted by admins for those wishing to take over abandoned modules. Previous versions of updated distributions are retained on CPAN until deleted by the uploader, and a secondary mirror network called BackPAN retains distributions even if they are deleted from CPAN.<ref>{{cite web |title=BackPAN |url=http://backpan.cpantesters.org/ |access-date=20 December 2019}}</ref> Also, the complete history of the CPAN and all its modules is available as the GitPAN project,<ref name="gitpan-readme">{{cite web|url=https://github.com/evalEmpire/gitpan/blob/master/README.md|date=2 December 2015|access-date=16 November 2016|title=What is Gitpan?|website=[[GitHub]]}}</ref> allowing to easily see the complete history for all the modules and for easy maintenance of forks. CPAN is also used to distribute new versions of Perl, as well as related projects, such as [[Parrot virtual machine|Parrot]] and [[Raku (programming language)|Raku]].
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Search
Search
Editing
CPAN
(section)
Add topic