A subroutine gives a group of statements a name so the program can call it when needed.

Subroutine Basics

subroutine_basics.pl
use strict;
use warnings;

sub make_greeting {
    my ($name) = @_;
    my $message = "Hello, $name";
    return $message;
}

my $name = ;
my $greeting = make_greeting($name);

print "name=$name\n";
print "greeting=$greeting\n";
use strict;
use warnings;

sub make_greeting {
    my ($name) = @_;
    my $message = "Hello, $name";
    return $message;
}

my $name = ;
my $greeting = make_greeting($name);

print "name=$name\n";
print "greeting=$greeting\n";
use strict;
use warnings;

sub make_greeting {
    my ($name) = @_;
    my $message = "Hello, $name";
    return $message;
}

my $name = ;
my $greeting = make_greeting($name);

print "name=$name\n";
print "greeting=$greeting\n";
subroutine A subroutine is a named block of reusable Perl code.