- 01Setting up (what you'll need)
- 02Your first output (print)
- 03Variables (scalar variables, $)
- 04Branching (the if statement)
- 05Repeating (the for loop)
- 06Writing a subroutine (a function)
- 07Repeating (the while loop)
- 08Working with arrays (@)
- 09Working with hashes (%)
- 10Regular expression matching
- 11Substitution with regular expressions (s///)
- 12Working with strings
- 13References
- 14Anonymous subroutines
- 15File input and output, the basics
- 16Modules and use strict / warnings
- 17The ternary operator
- 18Sorting (sort)
- 19Packages and the basics of object orientation
- 20[Project] Build a small inventory system
Writing a subroutine (a function)
This lesson covers the basic form for defining a function — a subroutine — in Perl.
A Perl function is defined as sub name { ... }. Arguments arrive through the special array variable @_.
The sample code defines sub greet { my $name = shift; return "Hello, ${name}!"; }, pulling the first argument out with shift.
A common early stumble is the relationship between @_ and shift. Rather than naming parameters in the definition as other languages do, Perl puts every argument into @_, from which you take them with shift or my ($a, $b) = @_;.
In professional work, gathering logic into a subroutine in one place, rather than copying it around, is what makes changes and maintenance manageable.
๐งช This site can't compile or run Perl directly, so it checks on the spot whether what you typed matches the reference code (scoring happens entirely in your browser โ nothing is sent anywhere).
