Introduction to Perl

Overview

Instructor(s): Keith Jackson

Time: February 2026

Location: Blocker 220

Prerequisite(s): Active HPRC account

Researchers are using Perl for various scientific computations, such as biological data analysis (Bioinformatics) and other applications. By using Perl, you can quickly write programs which will run on a variety of computer platforms. If you are familiar with Perl, you can also edit programs written by other researchers or third-party providers.

Perl has powerful text processing and I/O capabilities, which you can easily use with the operators and functions built into the Perl language. You can also take advantage of Perl's numerous library extensions, which implement a wide variety of useful tools.

This class will provide an introduction to the Perl programming language. We will explore the elements of the language through interactive examples.

A Registration button will appear here when registration has been opened.

Course Materials

  • Introduction to Perl (Fall 2025): PDF
  • Jupyter Notebook and additional files (Fall 2025): GitHub
  • Connection Instructions (Fall 2025): PDF

  • Introduction to Perl (Fall 2024): PDF   Video

Participation

During the training, attendees are expected to use their own computer and complete the instructor-led application and allocation processes.

Learning Objectives and Agenda

In this class, participants will:

  • Install classwork Jupyter notebook on FASTER account
  • Start Jupyter notebook on FASTER portal
  • Execute sample code in Jupyter notebook to become familiar with simple Perl statements
  • Open Perl documentation webpages to become familiar with where to find help
  • Solve simple exercises to learn basic elements of Perl:
    • variables
    • operators
    • conditionals
    • loops
    • errors/warnings
    • file I/O
    • regular expressions

This course focuses, among others, on the following topics:

  • What you can use Perl to do
  • Executing your program
  • Finding documentation
  • Statement syntax
  • Variables, constants, expressions
  • Control flow
  • Understanding error messages
  • I/O