Perl is a high-level, general-purpose, interpreted and dynamic programming language. It was created in 1987 by Larry Wall and has since become one of the most popular scripting languages for Unix-based systems. Perl is known for its powerful text processing capabilities, making it a popular choice for system administrators, web developers, and data scientists.
In this beginner’s guide to Perl, you will learn the basics of the language by working through 10 examples. By the end of this guide, you should have a solid understanding of Perl and be able to write simple Perl scripts.
Contents
- Recommended Books
- Hello World
- Variables
- Input and Output
- Arrays
- Hashes
- Conditional Statements
- Loops
- Subroutines
- File Input and Output
- Regular Expressions
- Conclusion
- See Also
- Further Reading
Recommended Books
I can highly recommend these books to help you learn more about the Perl programming language.
- Learning Perl: Making Easy Things Easy and Hard Things Possible 8th Edition
- PERL in 8 Hours, For Beginners, Learn Coding Fast!
- Learn Perl: Practical Guide Kindle Edition
Hello World
This example prints the string Hello, World!
to the console. The line #!/usr/bin/perl
is called a shebang and it specifies the location of the Perl interpreter. The line print "Hello, World!\n";
uses the print
function to output the string to the console. The \n
character at the end of the string is a newline character, which adds a line break after the string.
#!/usr/bin/perl
print "Hello, World!\n";
Variables
This example uses a variable to store a string value. The line $name = "John Doe";
declares a variable $name
and assigns it the value John Doe
. The line print "Hello, $name!\n";
uses the print
function to output the string, which includes the value of the $name
variable. The $
symbol in front of the variable name indicates that it is a scalar variable.
#!/usr/bin/perl
$name = "John Doe";
print "Hello, $name!\n";
Input and Output
This example asks the user for their name and then prints a greeting to the console. The line print "What's your name? ";
outputs the string What's your name?
to the console, asking the user for their name. The line $name = <STDIN>;
uses the <STDIN>
operator to read a line of input from the user, which is then stored in the $name
variable. The line chomp $name;
removes the newline character at the end of the input, which is added by the <STDIN>
operator. Finally, the line print "Hello, $name!\n";
outputs a greeting to the console, including the value of the $name
variable.
#!/usr/bin/perl
print "What's your name? ";
$name = <STDIN>;
chomp $name;
print "Hello, $name!\n";
Arrays
This example demonstrates how to use an array to store multiple values. The line @names = ("John", "Jane", "Jim");
declares an array @names
and assigns it three values. The line print "The first name is $names[0]\n";
uses the print
function to output the first value in the array, which is accessed using the square bracket syntax. The @
symbol in front of the variable name indicates that it is an array variable.
#!/usr/bin/perl
@names = ("John", "Jane", "Jim");
print "The first name is $names[0]\n";
Hashes
This example demonstrates how to use a hash to store key-value pairs. The line %ages = ("John" => 35, "Jane" => 29, "Jim" => 42);
declares a hash %ages
and assigns it three key-value pairs. The line print "John's age is $ages{'John'}\n";
uses the print
function to output the value associated with the John
key, which is accessed using the curly brace syntax. The %
symbol in front of the variable name indicates that it is a hash variable.
#!/usr/bin/perl
%ages = ("John" => 35, "Jane" => 29, "Jim" => 42);
print "John's age is $ages{'John'}\n";
Conditional Statements
This example demonstrates how to use a conditional statement to control the flow of a program. The line $age = 30;
declares a variable $age
and assigns it the value 30
. The line if ($age >= 18) {
starts a conditional statement that checks if the value of $age
is greater than or equal to 18
. If the condition is true, the block of code inside the curly braces will be executed. The line print "You are an adult.\n";
outputs the string You are an adult.
to the console. The line } else {
starts the else
block of the conditional statement, which will be executed if the condition is false. The line print "You are a minor.\n";
outputs the string You are a minor.
to the console.
#!/usr/bin/perl
$age = 30;
if ($age >= 18) {
print "You are an adult.\n";
} else {
print "You are not an adult.\n";
}
Loops
This example demonstrates how to use a loop to repeat a block of code multiple times. The line for ($i=0; $i<5; $i++) {
starts a for
loop that will be executed five times. The line print "$i\n";
outputs the value of the $i
variable to the console. The line }
ends the loop block. The for
loop increments the value of $i
by 1 each time it is executed, until $i
is equal to 5.
#!/usr/bin/perl
@names = ("John", "Jane", "Jim");
foreach $name (@names) {
print "$name\n";
}
Subroutines
This example demonstrates how to use a subroutine to encapsulate a block of code. The line sub greeting {
starts a subroutine named greeting
. The line my ($name) = @_;
declares a local variable $name
and assigns it the first argument passed to the subroutine. The line print "Hello, $name!\n";
outputs a greeting to the console, including the value of the $name
variable. The line }
ends the subroutine block. The line greeting("John");
calls the greeting subroutine and passes it the argument John
.
#!/usr/bin/perl
sub greet {
my ($name) = @_;
return "Hello, $name!\n";
}
$greeting = greet("John");
print $greeting;
File Input and Output
This example demonstrates how to read from and write to a file. The line open(my $file, ">", "output.txt") or die "Can't open file: $!";
opens the file output.txt
for writing and associates it with the file handle $file
. The or die
clause is used to handle an error that might occur when opening the file. The line print $file "Hello, World!\n";
writes the string Hello, World!
to the file. The line close $file;
closes the file. The line open(my $file, "<", "output.txt") or die "Can't open file: $!";
opens the file output.txt
for reading and associates it with the file handle $file
. The line my $line = <$file>;
reads a line from the file and stores it in the $line
variable. The line print "$line\n";
outputs the contents of the $line
variable to the console.
#!/usr/bin/perl
open FILE, ">file.txt" or die $!;
print FILE "Hello, World!\n";
close FILE;
Regular Expressions
This example demonstrates how to use regular expressions to search and manipulate strings. The line $text = "Hello, World!";
declares a variable $text
and assigns it the string Hello, World!
. The line if ($text =~ /Hello/) {
starts a conditional statement that uses a regular expression to search for the string Hello
in the value of $text
. The =~
operator is used to match a regular expression against a string. If the match is successful, the condition is true and the block of code inside the curly braces will be executed. The line print "Found\n";
outputs the string Found
to the console. The line } else {
starts the else
block of the conditional statement, which will be executed if the condition is false. The line print "Not found\n";
outputs the string Not found
to the console.
Regular expressions are a powerful tool for matching and manipulating strings in Perl, and are widely used for tasks such as text processing, pattern matching, and data validation.
#!/usr/bin/perl
$string = "The cat is in the hat.";
if ($string =~ /cat/) {
print "The word 'cat' was found.\n";
}
Conclusion
Perl is a powerful and versatile programming language that is well-suited for text processing and system administration tasks. In this guide, you have learned the basics of Perl, including variables, input and output, arrays, hashes, conditional statements, loops, subroutines, file input and output, and regular expressions.
With these concepts under your belt, you should be able to write simple Perl scripts and get started on more complex tutorials from the links below.
See Also
- JavaScript Beginners Guide With Examples
- Python Beginners Guide
- Top 15 Linux Bash commands with examples
- The Ultimate Web Server on Ubuntu 22.04
Comments
There are currently no comments on this article.
Comment