Introduction to Perl

Overview

Instructor: Keith Jackson

Time: Friday, January 31, 2025 — 1:30PM-4:00PM CT

Location: Blocker 220

Prerequisites: 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.

Registration will open on this webpage in early January.

Course Materials

  • Class Slides: PDF
  • GitHub (Jupyter Notebook and additional files)

Materials from Previous Classes

  • Connection Instructions: PDF
  • Intermediate Scripting (Spring 2017): PDF
  • Extended Perl Class (Fall 2016): PDF

Learning Objectives and Agenda

In this class, attendees 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

Note: During the class sessions many aspects of the material will be shown live using the Jupyter Notebook web application. Attendees will follow along and practice these parts on their own laptops.