Perl Subroutines (Functions)
Defining Subroutines
Basic sub Definition
Subroutine with Parameters
Multiple Parameters
Parameter Passing
Using @_
@_ is a special array containing all parameters:
Accessing Parameters Directly
Using my to Get Parameter Copies
Modifying Original Parameters
Return Values
Using return
Implicit Return
The value executed last in the subroutine is automatically returned:
Returning Multiple Values
Returning Lists and Scalars
Default Parameters
Using // for Default Values
Using || for Default Values (Be Careful)
Named Parameters
Using Hashes for Named Parameters
Using References for Named Parameters
Recursion
Basic Recursion Example: Factorial
Recursion Example: Fibonacci
Recursion Example: Tower of Hanoi
Anonymous Subroutines
Basic Anonymous Subroutine
As Callback Function
Closure
Prototypes
Basic Prototype
Array Prototype
Hash Prototype
Practice Examples
Example 1: Simple Calculator
Example 2: Data Validation
Example 3: Text Processing Tool
Summary
In this chapter, we learned Perl subroutines:
- ✅ Defining and calling subroutines
- ✅ Parameter passing
- ✅ Return values
- ✅ Default parameters
- ✅ Named parameters
- ✅ Recursion
- ✅ Anonymous subroutines
- ✅ Prototypes
Next, we will learn Perl References.