How to Install Perl Modules Using CPAN on CentOS 8

The Comprehensive Perl Archive Network (CPAN in short) is a popular central repository of currently 188,714 Perl modules in 40,986 distributions. It is a single location where you can find, download and install any of the incredible (and still growing) collection of Perl libraries.

It has 25,000 modules available and it is mirrored on servers around the world. It also supports automated testing: cross-platform and on multiple versions of Perl, and bug tracking for every library. Also, you can search it using various sites on the web, which offer tools such as grep, version-to-version diff as well as documentation.

The CPAN Perl module is a core module that allows you to query, download, build and install Perl modules and extensions from CPAN sites. It has been distributed with Perl since 1997 (5.004). It includes some primitive searching capabilities and supports named and versioned bundles of modules.

In this article, you will learn how to install Perl and Perl modules in CentOS 8 using CPAN.

How to Install Perl CPAN Module in CentOS 8

Before you can use CPAN, you need to install the Perl-CPAN package, using the DNF package manager as shown.

# dnf install perl-CPAN
Install Perl CPAN in CentOS 8

Install Perl CPAN in CentOS 8

Note: Although most Perl modules are written in Perl, some use XS – they are written in C and so require a C compiler which is included in the Development Tools package.

Let’s install the Development Tools package as shown.

# dnf install "@Development Tools"
Install Development Tools in CentOS 8

Install Development Tools in CentOS 8

How to Install Perl Modules Using CPAN

To install Perl modules using CPAN, you need to use the cpan command-line utility. You can either run cpan with arguments from the command-line interface, for example, to install a module (e.g Geo::IP) use the -i flag as shown.

# cpan -i Geo::IP  
OR
# cpan Geo::IP  

When you run cpan for the first time, it requires configuration as shown in the screenshot below. For this guide, we will enter yes to configure it automatically. If you enter no, the configuration script will take you through a series of questions to configure it.

Configure CPAN Automatically

Configure CPAN Automatically

The following screenshot shows the module Geo::IP has been installed on the system.

Perl Module Geo::IP Installed

Perl Module Geo::IP Installed

Alternatively, you can run a cpan without arguments to start CPAN.pm shell. Then use the install sub-command to install a module (e.g Log::Log4perl) as shown.

# cpan
cpan[1]> install Log::Log4perl
Install Perl Modules Using CPAN

Install Perl Modules Using CPAN

How to List Installed Perl Modules and Versions

To list all installed Perl modules with their versions, use the -l flag as shown.

# cpan -l
List Installed Perl Modules

List Installed Perl Modules

How to Search a Perl Module Using CPAN

To search a module, open the cpan shell and use the m flag as shown.

# cpan
cpan[1]> m Net::Telnet
cpan[1]> m HTML::Template
Search Perl Modules Using CPAN

Search Perl Modules Using CPAN

For more information, read the cpan manual entry page or get help from the CPAN shell using the help command.

# man cpan
OR
# cpan
cpan[1]> help

How to Install Perl Modules Using CPANM

App::cpanminus(cpanm) is another popular module used to download, unpack, build and install modules from CPAN. To get it working on your system, install the App::cpanminus module as shown.

# cpan App::cpanminus
Install CPANM Module

Install CPANM Module

You can install a module using cpanm as shown.

# cpanm Net::Telnet
Install Perl Module Using CPANM

Install Perl Module Using CPANM

How to Install Perl Modules from Github

cpanm supports the installation of Perl modules directly from Github. For example, to install the Starman – a high-performance preforking Perl PSGI web server, run the following command.

# cpanm git://github.com/miyagawa/Starman.git
Install Perl Modules from Github

Install Perl Modules from Github

For more usage options, see the cpanm man page.

# man cpanm

CPAN is a single location where you can find, download and install Perl modules; it currently has 192,207 Perl modules in 41,002 distributions. If you have any queries, share them with us via the feedback form below.

If You Appreciate What We Do Here On TecMint, You Should Consider:

TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.

If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.

Support Us

We are thankful for your never ending support.

Aaron Kili

Aaron Kili is a Linux and F.O.S.S enthusiast, an upcoming Linux SysAdmin, web developer, and currently a content creator for TecMint who loves working with computers and strongly believes in sharing knowledge.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide
The Complete Linux System Administrator Bundle
Become an Ethical Hacker Bonus Bundle

You may also like...

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.