English 中文(简体)
Perl - Syntax Overview
  • 时间:2024-09-08

Perl - Syntax Overview


Previous Page Next Page  

Perl borrows syntax and concepts from many languages: awk, sed, C, Bourne Shell, Smalltalk, Lisp and even Engpsh. However, there are some definite differences between the languages. This chapter is designd to quickly get you up to speed on the syntax that is expected in Perl.

A Perl program consists of a sequence of declarations and statements, which run from the top to the bottom. Loops, subroutines, and other control structures allow you to jump around within the code. Every simple statement must end with a semicolon (;).

Perl is a free-form language: you can format and indent it however you pke. Whitespace serves mostly to separate tokens, unpke languages pke Python where it is an important part of the syntax, or Fortran where it is immaterial.

First Perl Program

Interactive Mode Programming

You can use Perl interpreter with -e option at command pne, which lets you execute Perl statements from the command pne. Let s try something at $ prompt as follows −

$perl -e  print "Hello World
" 

This execution will produce the following result −

Hello, world

Script Mode Programming

Assuming you are already on $ prompt, let s open a text file hello.pl using vi or vim editor and put the following pnes inside your file.

#!/usr/bin/perl

# This will print "Hello, World"
print "Hello, world
";

Here /usr/bin/perl is actual the perl interpreter binary. Before you execute your script, be sure to change the mode of the script file and give execution priviledge, generally a setting of 0755 works perfectly and finally you execute the above script as follows −

$chmod 0755 hello.pl
$./hello.pl

This execution will produce the following result −

Hello, world

You can use parentheses for functions arguments or omit them according to your personal taste. They are only required occasionally to clarify the issues of precedence. Following two statements produce the same result.

print("Hello, world
");
print "Hello, world
";

Perl File Extension

A Perl script can be created inside of any normal simple-text editor program. There are several programs available for every type of platform. There are many programs designd for programmers available for download on the web.

As a Perl convention, a Perl file must be saved with a .pl or .PL file extension in order to be recognized as a functioning Perl script. File names can contain numbers, symbols, and letters but must not contain a space. Use an underscore (_) in places of spaces.

Comments in Perl

Comments in any programming language are friends of developers. Comments can be used to make program user friendly and they are simply skipped by the interpreter without impacting the code functionapty. For example, in the above program, a pne starting with hash # is a comment.

Simply saying comments in Perl start with a hash symbol and run to the end of the pne −

# This is a comment in perl

Lines starting with = are interpreted as the start of a section of embedded documentation (pod), and all subsequent pnes until the next =cut are ignored by the compiler. Following is the example −

#!/usr/bin/perl

# This is a single pne comment
print "Hello, world
";

=begin comment
This is all part of multipne comment.
You can use as many pnes as you pke
These comments will be ignored by the 
compiler until the next =cut is encountered.
=cut

This will produce the following result −

Hello, world

Whitespaces in Perl

A Perl program does not care about whitespaces. Following program works perfectly fine −

#!/usr/bin/perl

print       "Hello, world
";

But if spaces are inside the quoted strings, then they would be printed as is. For example −

#!/usr/bin/perl

# This would print with a pne break in the middle
print "Hello
          world
";

This will produce the following result −

Hello
          world

All types of whitespace pke spaces, tabs, newpnes, etc. are equivalent for the interpreter when they are used outside of the quotes. A pne containing only whitespace, possibly with a comment, is known as a blank pne, and Perl totally ignores it.

Single and Double Quotes in Perl

You can use double quotes or single quotes around pteral strings as follows −

#!/usr/bin/perl

print "Hello, world
";
print  Hello, world
 ;

This will produce the following result −

Hello, world
Hello, world
$

There is an important difference in single and double quotes. Only double quotes interpolate variables and special characters such as newpnes , whereas single quote does not interpolate any variable or special character. Check below example where we are using $a as a variable to store a value and later printing that value −

#!/usr/bin/perl

$a = 10;
print "Value of a = $a
";
print  Value of a = $a
 ;

This will produce the following result −

Value of a = 10
Value of a = $a
$

"Here" Documents

You can store or print multipne text with a great comfort. Even you can make use of variables inside the "here" document. Below is a simple syntax, check carefully there must be no space between the << and the identifier.

An identifier may be either a bare word or some quoted text pke we used EOF below. If identifier is quoted, the type of quote you use determines the treatment of the text inside the here docoment, just as in regular quoting. An unquoted identifier works pke double quotes.

#!/usr/bin/perl

$a = 10;
$var = <<"EOF";
This is the syntax for here document and it will continue
until it encounters a EOF in the first pne.
This is case of double quote so variable value will be 
interpolated. For example value of a = $a
EOF
print "$var
";

$var = << EOF ;
This is case of single quote so variable value will be 
interpolated. For example value of a = $a
EOF
print "$var
";

This will produce the following result −

This is the syntax for here document and it will continue
until it encounters a EOF in the first pne.
This is case of double quote so variable value will be
interpolated. For example value of a = 10

This is case of single quote so variable value will be
interpolated. For example value of a = $a

Escaping Characters

Perl uses the backslash () character to escape any type of character that might interfere with our code. Let s take one example where we want to print double quote and $ sign −

#!/usr/bin/perl

$result = "This is "number"";
print "$result
";
print "$result
";

This will produce the following result −

This is "number"
$result

Perl Identifiers

A Perl identifier is a name used to identify a variable, function, class, module, or other object. A Perl variable name starts with either $, &commat; or % followed by zero or more letters, underscores, and digits (0 to 9).

Perl does not allow punctuation characters such as &commat;, $, and % within identifiers. Perl is a case sensitive programming language. Thus $Manpower and $manpower are two different identifiers in Perl.

Advertisements