Corporate · onsite · online training worldwide
contact@DevOpsSchool.com· +91 99057 40781·
> Automation & Scripting · DevOpsSchool Trainer

Perl Trainer

Private corporate batches, live online cohorts and 1-on-1 mentoring in text processing, log analysis and the legacy automation estate that still runs on it — taught by a practitioner who runs it in production.

20 years across DevOps, SRE and Security · 10,000+ engineers trained · Trained teams at JPMorgan Chase, Verizon, Nokia and the World Bank

DeliveryOnline · Onsite · Hybrid
FormatsCorporate · 1-on-1 · Cohort
AgendaCustomisable
Batch size8–30 engineers
Engineers we've trained work at
JPMorgan ChaseBank of AmericaWells FargoVerizonNokiaWorld BankGE HealthcareVMwareOracleQualcommMercedes-BenzAirbusDatadogSplunkDeloitteInfosysWiproCapgemini
# who teaches it

Your Perl trainer

Rajesh Kumar

Principal DevOps Engineer & Architect

20 years in productionPrincipal / architect roles10,000+ engineers trainedM.Tech BITS Pilani25+ certifications

Rajesh teaches Perl the way operational Perl is actually encountered — reading existing code before writing new code. Sessions cover the parts that make legacy scripts opaque: list versus scalar context, references and nested data structures, special variables such as $_, @ARGV and $/, and regular expressions with captures, classes and split. Every concept is demonstrated live against real log and configuration input, alongside strict, warnings, POD documentation and CPAN module use so that scripts leaving the course are maintainable rather than merely working.

Twenty years across DevOps, SRE and Security, in principal and architect roles at PayPay, SoftwareAG, ServiceNow, JDA Software, Intuit, Adobe and others. He has trained engineers at JPMorgan Chase, Verizon, Nokia, the World Bank, VMware, Oracle, Mercedes-Benz and Airbus — more than 10,000 people personally. He teaches what he runs, not what he reads.

One practitioner, not a bench

You are booked with a named engineer, and that is who turns up. Marketplaces and larger providers rotate whoever is free, so the person who sold you the agenda is rarely the person teaching it.

The same trainer is available for the next engagement, which matters when a team builds on what it learned last time.

18,000+certified learners
500+corporate batches delivered
50+countries served
100+certification programmes
# faculty

Who delivers Perl engagements

Your batch is assigned a named trainer before it starts, and that is who teaches it. See the full faculty.

How your Perl trainer is chosen

Engagements are matched on the tool, not the calendar. For Perl that means a trainer who has run it in production — text processing, log analysis and the legacy automation estate that still runs on it — rather than whoever is free that week. You are told who is teaching before you commit, and that person is on the discovery call that shapes the agenda.

Where a batch is large enough to need a second trainer, the pairing is declared up front. The lead trainer stays accountable for the syllabus and the assessment either way.

Rajesh Kumar

Principal DevOps Engineer & Architect

India20 yrsLead trainer

Twenty years across DevOps, SRE and Security in principal and architect roles at PayPay, SoftwareAG, ServiceNow, JDA Software, Intuit, Adobe, IBM/Emptoris, Ness, MindTree and Accenture. He has trained more than 10,000 engineers personally, at organisations including JPMorgan Chase, Verizon, Nokia, the World Bank, VMware, Oracle, Mercedes-Benz and Airbus. He teaches what he runs, not what he reads.

Gaurav Aggarwal

IndiaInstructorCoach

Harsh Mehta

IndiaInstructorCoach

Kapil Gupta

IndiaInstructorCoach

Kunal Jain

IndiaInstructorCoach

Nikhil Gupta

IndiaInstructorCoach

Pranab Kumar

IndiaInstructorCoach

Rohit Ghatol

IndiaInstructorCoach

Amit Agarwal

IndiaInstructorCoach

Anil Kumar

IndiaInstructorCoach

Balachandran Anbalagan

IndiaInstructorCoach

Durga Prasad

IndiaInstructorCoach

# how to engage

Four ways to work with this trainer

Private corporate batch

Teams of 8–30

Custom agenda, your timezone, onsite or online, NDA-friendly.

Request a quote

1-on-1 mentoring

Individual engineers

A private instructor and a curriculum built around your goal.

₹99,999

Live & Interactive cohort

Individuals who want peers

Scheduled batch, max 8 to 10 hours of live instruction.

₹34,999

Self-paced video

Self-starters

Full LMS access — 20+ courses and 50+ tools included.

₹833/mo
# private batches

Private Perl training for your team

A private batch starts with a discovery call. We look at the stack you actually run — the CI system, the cloud, the constraints — and map the agenda onto it, so examples use your topology rather than a generic one.

Delivery is onsite at your premises, live online, or hybrid, scheduled around your release calendar rather than ours. Batches run 8 to 30 engineers.

Every attendee leaves with recordings, slides, lab repositories and a completion certificate. You receive an attendance and assessment report. Invoicing supports PO and GST.

Talk to us about a private Perl batch

What you provide vs what we bring

  • You: the room or the call, and the engineers
  • Us: trainer, agenda, labs, assessment, certificates
  • Labs: we guide your team through provisioning their own free-tier cloud environment — the skill goes with them
# the technology

What is Perl?

Perl is a general-purpose interpreted language built around text. Its regular expression engine is part of the language rather than a library, its list and hash types map directly onto the shape of operational data, and its one-liner mode makes it usable directly from a shell pipeline. That combination is why Perl became the default language for system administration, log processing and report generation, and why it still sits underneath a large amount of infrastructure that nobody has rewritten.

The language rewards knowing its model. Scalars, arrays and hashes are distinct types with sigils that change according to how you are using them; context — list versus scalar — silently changes what an expression returns; references are how anything more complicated than a flat list gets built; and special variables such as $_, @ARGV and $/ make idiomatic Perl terse in a way that reads as noise until the rules are clear. Once they are, a Perl script that parses, correlates and reports on several gigabytes of log output is twenty lines.

In a modern estate Perl appears in two roles. First, maintenance: monitoring checks, ETL jobs, provisioning scripts, build glue and vendor tooling written years ago that still runs nightly and that somebody has to be able to read. Second, deliberate use, where the task is heavy text manipulation and CPAN already has a battle-tested module for the format in question. Both roles need the same skills — regular expressions, references, file handling, modules and enough discipline with strict and warnings to keep the code maintainable.

Why this skill matters now

Perl is no longer the language teams start new platforms in, and that is precisely why the skill is scarce and valuable. The code is still running. Monitoring plugins, billing and reconciliation jobs, log pipelines, provisioning glue, telecom and financial batch processing, and the vendor tooling shipped with older infrastructure products are all Perl, and all of it still has to be understood, patched and eventually migrated.

The supply of engineers who can do that work has thinned faster than the code has been retired. When a nightly Perl job fails at 2am in an organisation where nobody can read it, the outage lasts as long as it takes to find someone who can. Teams planning migrations hit the same wall from the other direction: you cannot faithfully port a script you do not understand, and the subtle parts — context, references, special variables, regular expression behaviour — are exactly what a naive rewrite gets wrong.

There is also live demand where Perl is simply the right tool: heavy text transformation, one-off data surgery, and formats for which CPAN already has a mature parser.

Perl training
# outcomes

What your team can do afterwards

Read and confidently modify existing Perl scripts, including terse idiomatic code using $_, implicit context and special variables
Use scalars, arrays, hashes and slices correctly, and predict what list versus scalar context will return
Write regular expressions with captures, character classes and quantifiers, and use them for substitution, extraction and split
Build arbitrary nested data structures with array and hash references, and traverse them without leaking memory or losing scope
Handle files and streams properly — lexical file handles, binary mode, the object-oriented interface and record separators
Package reusable code as modules, install dependencies from CPAN on Unix and Windows, and document with POD
Apply strict, warnings, lexical scoping and Perl 5.10+ features to make inherited scripts safer to change
Plan a migration off Perl where that is the right call, by first proving you understand what the original script does
# curriculum

12 modules. Live demos in a real lab, not slides.

01Perl quick start for experienced programmersLive & Interactive5 hrs · 2 assignments · 1 capstone

A fast orientation for engineers who already program. The smallest useful script, reading a file, looping, calling a subroutine, and the built-in documentation system — enough working Perl in the first session to start reading the scripts your team actually runs.

Topics: Hello world and running a script · Counting lines in a file · Using a loop in Perl · Using subroutines in Perl · Using Perl's documentation — perldoc, perlfunc, perlvar · One-liners with -e, -n and -p

  • Assignments: (1) Write a one-liner that counts occurrences by field in a log file; (2) Answer three language questions using only perldoc
  • Capstone: Produce a working first script that summarises a real log file
02General syntax and code you can hand overLive & Interactive5 hrs · 2 assignments · 1 capstone

The mechanical rules and the conventions that separate maintainable Perl from write-only Perl. Whitespace, statement termination, comments, and formatting practice — plus strict and warnings, which should be on the first two lines of everything you write.

Topics: Understanding how Perl uses whitespace · Terminating statements with semicolons · Creating comments · Best practices for formatting code · use strict and use warnings · perltidy and perlcritic as standing checks

  • Assignments: (1) Add strict and warnings to a legacy script and resolve every resulting error; (2) Run perlcritic over an inherited script and triage the findings
  • Capstone: Establish a house style and lint baseline for a Perl repository
03Variables, values and data typesLive & Interactive5 hrs · 2 assignments · 1 capstone

Perl's type system as it really works. Scalars for numbers and strings, arrays and lists, slices, hashes as the workhorse of operational Perl, the each function, and undef — with the sigil rules that confuse everyone until they are stated explicitly.

Topics: Understanding values and variables · Declaring numeric variables · Declaring character string variables · Declaring lists and arrays · Pulling slices from arrays · Understanding hashes and associative arrays · Getting value pairs using the each function · Understanding the undef value · Sigils and why they change with usage

  • Assignments: (1) Build a hash of arrays from a delimited file and query it; (2) Explain the output of ten expressions that differ only in sigil or context
  • Capstone: Model a host inventory as nested Perl data and produce a grouped report
04Statements, blocks and scopeLive & Interactive5 hrs · 2 assignments · 1 capstone

How Perl code is assembled and where a variable lives. Assignment, expressions versus statements, blocks, and lexical versus package scope — the topic that explains most action-at-a-distance bugs in inherited scripts.

Topics: Assigning values to variables · Using statements and expressions · Combining statements into blocks · Understanding scope — my, our and local · Package variables and why local is not what it sounds like · Bare blocks and scoping tricks

  • Assignments: (1) Fix a script that fails because a variable is package-scoped rather than lexical; (2) Demonstrate the difference between my, our and local in one script
  • Capstone: Refactor a script with global state into properly scoped, testable units
05Conditional statementsLive & Interactive5 hrs · 2 assignments · 1 capstone

Branching, including the postfix and negated forms that make idiomatic Perl compact. if, else and elsif, postfix conditionals, unless, and the ternary operator — with guidance on which of these help readability and which hurt it in shared code.

Topics: Understanding conditional statements · Creating conditionals with if · Extending conditionals with else · Extending conditionals with elsif · Building if statements with postfix conditionals · Creating negative conditionals with unless · Using the ternary conditional operator · Truth and falsehood in Perl

  • Assignments: (1) Rewrite a nested conditional chain in three styles and argue for one; (2) Find and fix a bug caused by a false-but-defined value
  • Capstone: Write a validation routine that reports every failure rather than the first
06Loops and iterationLive & Interactive5 hrs · 2 assignments · 1 capstone

Every iteration construct Perl offers and when each is the natural fit. while and until, foreach and for over lists, loop control statements with labels, and postfix loop forms — plus iterating a file one record at a time without loading it into memory.

Topics: Understanding loops · Creating loops with while · Creating loops with until · Iterating lists with foreach · Iterating lists with for · Using loop control statements — next, last, redo and labels · Building loops with postfix statements · Streaming a large file line by line

  • Assignments: (1) Process a multi-gigabyte log without exhausting memory; (2) Use labelled loop control to exit a nested iteration cleanly
  • Capstone: Build a streaming correlator that joins two large log sources on a key
07Operators and special variablesLive & Interactive5 hrs · 2 assignments · 1 capstone

The operator set and the punctuation variables that make existing Perl hard to read until you know them. Arithmetic, numeric and string comparison, logical operators, file test operators, ranges, concatenation, quote operators and precedence — then $_, @ARGV, %ENV, $0, $/ and the special file handles.

Topics: Performing basic math with arithmetic operators · Creating conditionals with comparison operators — numeric versus string · Combining conditionals with logical operators · Reading file metadata with file test operators · Creating a sequence with the range operator · Combining strings with the concatenation operator · Streamlining strings with quote operators — q, qq, qw · Understanding operator precedence · Understanding and using special variables · Working with special file handles — STDIN, STDOUT, STDERR, DATA · Using special constants

  • Assignments: (1) Explain a dense idiomatic script line by line, naming every special variable; (2) Fix a comparison bug caused by using == where eq was needed
  • Capstone: Write a filter that behaves correctly as both a pipeline stage and a file argument tool
08Regular expressions and text processingLive & Interactive5 hrs · 2 assignments · 1 capstone

The reason Perl exists in operations. Matching and substitution, capture groups, wildcards and character classes, split for turning text into lists, and the practical concerns — anchoring, greediness, and patterns that backtrack catastrophically on real input.

Topics: Understanding regular expressions · Searching and replacing text with regular expressions · Extracting matches with parentheses · Matching wildcards · Matching classes of characters · Creating arrays with split · Anchors, quantifiers and greedy versus lazy matching · Modifiers — global, case-insensitive, multiline and /x · Catastrophic backtracking and how to avoid it

  • Assignments: (1) Parse four different log formats into a single normalised record structure; (2) Rewrite a pattern that backtracks catastrophically on long lines
  • Capstone: Build a log analyser that extracts, aggregates and reports across mixed formats
09Subroutines, references and data structuresLive & Interactive5 hrs · 2 assignments · 1 capstone

How Perl builds anything more complicated than a flat list. Defining and calling subroutines, arguments via @_, lexical variables, return values, then references — the concept that unlocks arrays of hashes, hashes of arrays and the arbitrarily nested structures real scripts carry.

Topics: Understanding subroutines · Defining and calling subroutines · Using arguments with subroutines · Understanding scope and my variables · Returning values from a subroutine — including context sensitivity · Understanding values and references · Defining array references · Defining hash references · Building mixed data structures · Dereferencing syntax and arrow notation · Data::Dumper for inspecting what you actually built

  • Assignments: (1) Convert a flat parallel-array script to a single array of hash references; (2) Write a recursive routine that walks an arbitrarily nested structure
  • Capstone: Build a configuration model as nested references, with a validating accessor layer
10File I/O and built-in functionsLive & Interactive5 hrs · 2 assignments · 1 capstone

Getting data in and out, and the built-in library that covers most of what a script needs. Streams and file handles including the lexical and object-oriented forms, binary files, then the string, numeric, list and time functions that remove the need for most helper code.

Topics: Understanding streams and files · Using file handles — bareword, lexical and three-argument open · Using the object-oriented interface for handling files · Working with binary files and layers · Manipulating strings with built-in functions · Working with numbers · Manipulating lists and arrays with built-in functions — sort, grep, map, join · Retrieving and formatting time · Reading and writing safely: error checking, locking, atomic replace

  • Assignments: (1) Rewrite a script using three-argument lexical open with full error checking; (2) Replace a hand-written loop with sort, grep and map and compare readability
  • Capstone: Build a file-processing tool with atomic writes and resumable state
11Modules, CPAN and documentationLive & Interactive5 hrs · 2 assignments · 1 capstone

Turning a script into something a team can depend on. Packaging code as modules, procedural versus object-oriented module styles, object and instance data, installing dependencies from CPAN on Unix and Windows, and documenting with POD so the next engineer does not have to reverse-engineer it.

Topics: Leveraging code with modules · Understanding object-oriented and procedural modules · Creating modules · Understanding object and instance data · Installing modules from CPAN on Mac and Unix · Installing modules from CPAN on Windows · Dependency management with cpanm, local::lib and carton · Understanding POD · Documenting with POD · Exploring a POD document

  • Assignments: (1) Extract shared logic from three scripts into a module and install it locally; (2) Add complete POD to an inherited script and generate its manual page
  • Capstone: Ship a documented, dependency-pinned internal Perl module with a test file
12Modern Perl and integration with the rest of the estateLive & Interactive5 hrs · 2 assignments · 1 capstone

The features added from Perl 5.10 onward, and how Perl connects to everything around it. say, given/when and state variables, then databases, HTTP and web endpoints — plus an honest section on assessing legacy scripts for maintenance, refactoring or migration.

Topics: Using Perl 5.10 and later · Displaying text with say · Selecting from multiple choices with given and when · Keeping persistent variables with state · Exploring web development with Perl · Talking to databases with DBI · Making HTTP requests and consuming APIs · Testing with Test::More and prove · Assessing a legacy script: maintain, refactor or migrate

  • Assignments: (1) Write a test suite for an inherited script before changing a line of it; (2) Produce a migration assessment for one real legacy Perl job
  • Capstone: Take one production Perl job, test it, document it, and deliver a maintenance or migration plan

Need this mapped to your stack?

We rebuild the agenda around the tools you actually run.

Request a custom agenda
# hands-on

Labs and capstones your engineers actually build

LAB · READING

Decode the inherited script

Work through a dense, undocumented production Perl script line by line, naming every special variable, context switch and reference until you can explain its behaviour without running it.

legacycontextspecial variables
LAB · TEXT

Four log formats, one report

Parse four unrelated log formats with regular expressions and split, normalise them into a common structure, and produce a correlated summary report.

regexsplitparsing
LAB · STRUCTURES

References and nested data

Convert a script built on parallel arrays into one built on an array of hash references, then walk and transform the structure recursively.

referencesdata structuresrecursion
LAB · FILES

Safe file processing at scale

Stream a multi-gigabyte file with lexical file handles and record separators, write results atomically, and make the job resumable after a kill.

file handlesstreamingatomic writes
LAB · MODULES

From script to installable module

Extract shared logic into a module, add POD, pin CPAN dependencies with cpanm and local::lib, and install it on a clean host.

cpanmodulespod
CAPSTONE · LEGACY

Characterise, test and plan

Take one real production Perl job: build a characterisation test suite around it, document it in POD, then deliver a written maintain-refactor-migrate recommendation.

testingmigrationdocumentation
# ecosystem

The tools Perl sits next to

CPAN
cpanm
DBI
Test::More
perlcritic
perltidy
Linux
Git
cron
Nagios
Apache
Jenkins

Who this is for

  • System administrators maintaining Perl automation, monitoring checks and batch jobs
  • DevOps and platform engineers who have inherited a Perl estate they cannot yet read
  • SREs debugging Perl jobs that fail in production out of hours
  • Engineers planning a migration off Perl who need to understand the originals first
  • Data and integration engineers doing heavy text transformation and format conversion
  • Telecom, finance and enterprise engineers working with vendor tooling written in Perl

Pre-requisites

  • Comfortable on a Linux or Unix command line — files, permissions, pipes, redirection
  • Programming experience in any language, even if only shell scripting
  • Basic understanding of regular expressions, at grep level
  • Familiarity with version control, ideally Git
  • A Linux host or VM with Perl installed for labs, plus a real log file to work on
# pricing

Straightforward pricing

Every plan includes 1 year of full LMS access — not just this course, the entire DevOpsSchool LMS: 20+ courses, 50+ tools, videos, quizzes, assignments and projects.

Self-paced video

₹833/mo

Billed yearly at ₹9,996

Enroll now

1-on-1 mentorship

₹99,999

Full program, private instructor

Enroll 1-on-1

Corporate / private batch

8–30 engineers · custom agenda · onsite or online · PO and GST invoicing

Get a custom quote

Refunds. If we cancel or postpone a cohort, you get a full refund within 15 days. There is no money-back guarantee otherwise.

Terms. Course material remains licensed to the attendee. Read the terms.

Your data. We don't share it with third parties. Privacy policy.

Every attendee gets a verifiable certificate

  • Issued per attendee on completion
  • Verifiable at devopsschool.com/certificates
  • Hard copy available on request
  • Corporate batches receive an attendance and assessment report
DevOpsSchool

Perl Training

Certificate of completion

# feedback

What engineers say

4.4 / 5 from 26 reviews on Trustpilot.

★★★★★
Very detailed explanation and has lots of patience in attending the questionnaire. Thanks again for your wonderful sessions.
Uttam Samudrala · Trustpilot
★★★★★
Good discussion, helped us to understand different tools in SRE.
Prashant Saxena · Trustpilot
★★★★★
Got good lab sessions which kept the new DevOps tool learnings to the point and it helped a lot in my career.
robin son · Trustpilot
★★★★★
I took Terraform training with the tutor named Mithilesh. I requested to tailor the course curriculum for my needs. He did an excellent job of showing me how to write the Terraform script per the instructions provided.
jason smith · Trustpilot
★★★★★
My experience with the AIOps training was positive. The course covered important topics in a structured way, and Rajesh Kumar explained the concepts patiently. I found the practical aspects particularly helpful because they made the technical content easier to understand.
AARTI KUMARI · Trustpilot
★★★★★
I was looking to improve my understanding of AIOps, and this training helped me achieve that goal. Rajesh Kumar explained the subject in a structured and practical manner. The sessions on different AIOps concepts were informative.
Sonali Tiwari · Trustpilot
# comparison

Why a named practitioner beats a marketplace listing

What mattersYouTube + blogsGeneric online courseFreelance marketplaceDevOpsSchool
Named practitionerNoRarelyVaries per bookingYes — same trainer each time
Production experienceUnknownUnknownUnverified20 years, named employers
Custom agendaNoNoSometimesBuilt from your stack
Onsite deliveryNoNoSometimesYes
Lab environmentNoneSandbox that expiresVariesYour own cloud — skill goes with you
AssessmentNoneQuizRarelyAssignments + capstone per module
Per-attendee certificatesNoSometimesRarelyYes
Corporate invoicingNoLimitedVariesPO and GST
Post-training supportNoneForum, time-limitedNoneLifetime forum access
# questions

Frequently asked

Can the agenda be customised for our stack?
Yes — that is the normal case for a private batch. We start with a discovery call, look at the systems and scripts you actually run, and rebuild the module list around them. Examples then use your code rather than a generic one.
Do you deliver onsite?
Yes. Private batches run onsite at your premises, live online, or hybrid. You provide the room and the engineers; we bring the trainer, agenda, labs, assessment and certificates.
What lab environment do we need?
Attendees provision their own environment — free-tier AWS, Azure or GCP, or local VMs — and we walk them through it. We deliberately do not hand out temporary sandboxes, because the environment they build is the one they keep.
What size are batches?
Private corporate batches run 8 to 30 engineers. Public Live & Interactive cohorts are capped at 10 so everyone gets time with the trainer.
Do attendees get a certificate?
Yes — every attendee receives a completion certificate, verifiable at devopsschool.com/certificates. Corporate batches also receive an attendance and assessment report.
What is your refund position?
If we cancel or postpone a cohort, you receive a full refund within 15 days. There is no general money-back guarantee, and GST and gateway fees are not refunded.
Is Perl still worth learning?
For new greenfield services, usually not — and we say so. For maintaining the Perl that is already running your monitoring, batch and integration jobs, it is essential, because the cost of not being able to read that code shows up as outage duration. The course is built around that reality.
We want to migrate off Perl. Does this course help?
It is one of the most common reasons teams book it. You cannot faithfully port a script you do not understand, and context, references and special variables are exactly what a naive rewrite gets wrong. The final module covers characterisation testing and a structured maintain-refactor-migrate assessment.
Can we use our own scripts as course material?
Yes, and private batches usually do. We take a handful of your real production scripts, read them together, add strict, warnings and tests, and use them as the lab thread through the course. Attendees leave having improved code they own.
How long does a private Perl batch take?
Typically three to four days. Syntax, data types, control flow and regular expressions fit in three; adding references, modules, CPAN, POD and the legacy assessment work takes four.
Which Perl version do you teach?
Modern Perl 5, with 5.10-and-later features such as say and state covered explicitly. We also flag older idioms — bareword file handles, two-argument open, package-scoped variables — because those are what you will meet in inherited code.

Still deciding?

Tell us the team, the stack and the timeline. You'll get a straight answer, not a sales sequence.

Talk to an advisor
# ready when you are

Book a Perl trainer — or ask a question first.

  • No spam, no drip sequence
  • Syllabus in 60 seconds
  • A human reply within one business day

Prefer to call or email?

More ways to reach us on the contact page.

Talk to an advisorRequest a quote