100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

Installing and Running Perl

How to check for an existing Perl installation, install Perl on Windows, macOS, and Linux, and run your first scripts safely.

FoundationsBeginner7 min readJul 10, 2026
Analogies

Installing and Running Perl

Most Linux distributions and macOS ship with a system Perl already installed, so before installing anything you should open a terminal and run perl -v to check whether a usable version, ideally 5.30 or newer, is already present. On Windows, the two most common distributions are Strawberry Perl, which bundles a C compiler and is preferred for installing CPAN modules with native code, and ActiveState Perl, which focuses on curated, pre-built module bundles for enterprise use. For day-to-day development across platforms, many developers instead use perlbrew or plenv, tools that install and switch between multiple isolated Perl versions in your home directory without touching the system Perl that the operating system itself may depend on.

🏏

Cricket analogy: Just as a team checks the pitch report before deciding whether to bring an extra spinner, a developer runs perl -v first to check what version is already on the pitch before deciding whether to install anything.

Verifying Your Installation

Once Perl is installed, perl -v prints the version number and build configuration, while perl -V (capital V) prints a much longer report including the compiler used, installed library paths, and the @INC array of directories Perl searches when you use a module. It is also worth running cpan -v or, on more modern setups, cpanm --version to confirm that a CPAN client is available, since almost every non-trivial Perl project depends on at least one module from CPAN, such as DBI for databases or JSON for serialization. A common early mistake is installing Perl but forgetting to install a CPAN client alongside it; Strawberry Perl bundles cpanm by default, but a minimal system Perl install on Linux sometimes does not.

🏏

Cricket analogy: Similar to how a third umpire reviews multiple camera angles before confirming a run-out, running both perl -v and perl -V gives you a quick view and then a detailed multi-angle view of your installation.

Running Perl Scripts

On Linux and macOS, a Perl script typically starts with a shebang line, #!/usr/bin/perl or the more portable #!/usr/bin/env perl, and after making the file executable with chmod +x script.pl you can run it directly as ./script.pl; alternatively you can always run any script explicitly with perl script.pl regardless of permissions. On Windows, the shebang line is ignored by the OS but Strawberry Perl still associates the .pl extension with perl.exe, so double-clicking or running perl script.pl from the command prompt both work. It is standard practice to add use strict; and use warnings; as the first two lines after the shebang, because together they catch typos in variable names and silently dangerous behavior, such as using an undefined value in a numeric context, that Perl would otherwise let slip through without warning.

🏏

Cricket analogy: Similar to how a bowler's run-up mark on the pitch tells the umpire exactly where the delivery starts, the shebang line #!/usr/bin/perl tells the OS exactly which interpreter should start executing the script.

bash
# Check your Perl version
perl -v

# Make a script executable and run it directly (Linux/macOS)
chmod +x hello.pl
./hello.pl

# Or run it explicitly with the interpreter (works everywhere)
perl hello.pl

# Install a CPAN module, e.g. JSON, using cpanm
cpanm JSON

Never omit use strict; and use warnings; from a new script, even a throwaway one. Without them, Perl silently auto-creates a global variable the moment you misspell one, so $coutn++ instead of $count++ fails silently instead of raising an error you can actually see.

  • Check for a pre-installed Perl with perl -v before installing anything new; most Linux and macOS systems already ship with one.
  • On Windows, Strawberry Perl (bundles a C compiler and cpanm) and ActiveState Perl are the two common distributions.
  • perlbrew and plenv let you install and switch between multiple isolated Perl versions without touching the system Perl.
  • perl -v gives a quick version summary; perl -V (capital V) gives the full build configuration and @INC module search path.
  • A CPAN client (cpan or cpanm) is essential since most real Perl projects depend on modules like DBI or JSON from CPAN.
  • Scripts are run via a shebang line (#!/usr/bin/env perl) plus execute permission, or explicitly with perl script.pl.
  • Always start scripts with use strict; use warnings; to catch typos and unsafe operations that Perl would otherwise ignore.

Practice what you learned

Was this page helpful?

Topics covered

#Programming#PerlStudyNotes#InstallingAndRunningPerl#Installing#Running#Perl#Verifying#StudyNotes#SkillVeris#ExamPrep