A Perl Script
Generally, a Perl script consists of a sequence of comments, declarations and statements.
You can insert comments
in your script wherever you want by using the # symbol, and anything you type (after it) until the end of the line will be ignored by Perl. However, there is an exception and we are speaking about the first line of a Perl script:
This line is not necessary in Windows because the Perl interpreter is determined by the file association of the system. However, even if you use Perl for windows, the interpreter does take note of this first line in order to determine any additional command line switches that you might need to apply. The #! character sequence known as "hash-bang" lets the linux/unix shell know what interpreter to use and where this interpreter is located.
As you know, there is no need to declare variables in a Perl script. There are global declarations like subroutine and format declarations that we typically include at the beginning or the end of the script. You may either declare scoped variable using my or our preceding the variable name. However, a Perl declaration can be placed anywhere a statement could be placed, i.e anywhere in the script file.
A statement is an expression for the computer to process or evaluate. Generally, a statement ends in a semicolon which means that the statement is complete. After evaluated, each sentence has a value which is used by Perl to evaluate or process other statements. The statements can be grouped in blocks by surrounding them in curly braces. The Perl interpreter views a statement block as an individual statement. There are:
- conditional statements like if and unless, which use a relation expression to check if a condition is true
- loop statements like while, for, foreach, do-while, until which check a condition and execute the statements included in curly braces until that condition is evaluated true
The Perl language has three data types
: scalars, arrays
. For storing the data, like any other programming language, Perl uses variables
which are of course of the type enumerated above. To process or manipulate the data objects, Perl has a lot of operators
which could be numerical, string or special.
To process some actions, Perl made available a various number of Perl built-in functions grouped by categories, such as functions for scalars and strings, input/output functions and so on. You can build your own functions, called subroutines.
If you want to reuse some piece of code already written by others, you can use the modules in your Perl script. You can search on CPAN for a great variety of modules, that you can use for free. Or you can write your own. Using modules in Perl could be essential if you need to work with databases or to write Internet programming applications, and the examples don't stop here.
One of the simplest Perl script example is the following:
print "Hello World";
This Perl script, after executing, will print the message "Hello World".
Now, we’ll show you a more complicated Perl script, for educational purposes only, where we’ll try to use some of the topics mentioned above.
#!/usr/bin/perl # "hash-bang" line
# A Perl script
# this is a comment line
# some declarations with the use clause
use warnings; # it warns about undefined values
use strict; # it's a lexically scoped declaration
# a simple statement
# the next code initializes $pi scalar variable
# any scalar variable begins with $ symbol
my $pi = 3.14; # the statement ends in a semicolon
# a conditional statement
# also note the numeric operator == and
# the use of the print function
print "pi = $pi\n" if $pi == 3.14;
# it will output pi = 3.14
# a while loop statement
my @numbers = ();
# this line declares and empties the
# @numbers array variable;
# any array variable begins with the @ symbol
while(my $line = <STDIN>)
# we read some lines from <STDIN> using the
# $line scalar variable
# chomp function will remove the ending newline
# push function will append the read number
# to @numbers array
# the loop will end when we type Ctrl/Z
# calling a subroutine
# in the following lines we will declare and
# call a subroutine that will add two numbers
# and it will return their sum
my $firstNumber = $_; # first argument
my $secondNumber = $_; # second argument
return $firstNumber + $secondNumber;
# calling the subroutine declared above:
print add2Numbers(3, 5), "\n";
# it will output 8
# using a module
# the following code snippet will show you
# how to use a module in your script;
# we’ll exemplify with the DateTime-0.47 module;
# in order to run this script you must have
# already installed this module on your system
# the module must be declared first through use clause
my $dt = DateTime->now;
# $dt variable is initializes with the current date
print "Current Date:\n";
print "Month:", $dt->month, "\n";
print "Day:", $dt->day, "\n";
print "Year:", $dt->year, "\n";
# it will print the current month, day and year
Table of Contents:
A Perl Script (more)
Perl Data Types
Built-in Perl Functions
Functions by Category
Regular Expressions and Pattern Matching
Functions in alphabetical order
return from A Perl Script to Perl Basics
Would you like to create your own website like this one?
Hit the Alarm Clock!