WordPress Websites for Engineers: Elevate Your Brand
Perl Scripting
1. Perl Scripting
M. Varadharajan
Thiagarajar College of Engineering
2. What We Will Cover?
What is Perl?
Creating and Executing Perl scripts
Standard Input and Output
Scalar Variables
Arrays
Hashes
Magic Variables: $_ and @ARGV
3. What We Will Cover?
Control Structures
Looping Structures
File Operations
Split & Join
Using shell commands
Advanced Concepts you'll need to know
4. What is Perl
Perl stands for
− 'Practical Extraction and Reporting Language'
Developed by Larry Wall in 1987
Its called Perl and not PERL
High level Scripting Language
Dynamically Typed
Support for object oriented programming
5. Some Advantages of Perl
Free and Open source
Fast, Flexible, Secure and Fun
Interpreted Language
Mature Community
Portability
Very good Documentation (POD)
Availability of Modules (CPAN)
6. Typical Uses of Perl
Text processing
System administration tasks
CGI and web programming
Database interaction
Other Internet programming
7. Hello World!
This script will print 'Hello World!'
Creation of the Perl Script:
− Open your Text Editor (!MSWORD)
− Type the following block & save
#!/usr/bin/perl -w
print “Hello World! n”;
8. Hello World!
Some point to Note:
− All Perl statements end with ';'
− Add 'use strict;' if you're serious on the
script
− Comments in Perl start with '#'
− The first line is known as Shebang line
#!/usr/bin/perl -w
9. Hello World!
Executing the script:
− Call the interpreter with the script
perl helloworld.pl
or
− Grant Executable Permissions & Execute
Chmod a+x helloworld.pl
./helloworld.pl
10. Scalar Variables
Place to store a single item of data
Scalar variables begin with '$'
Declaration is as follows (in strict mode)
my $name;
Assigning values is similar to c
$name = “varadharajan”;
$total = 100;
$cost = 34.34
11. Standard Output
Print function is used
Syntax:
print “some string”;
Example: (script prints “Perl is cool”)
#/usr/bin/perl -w
my $name = “perl”;
print “$name is cool n”;
12. Standard Input
Special operator '<>' is used
Synatx:
$scalar = <STDIN>;
Example: (Get name and print it)
#/usr/bin/perl -w
print “Enter Name : ”;
my $name = <STDIN>;
print “Hello $name”;
13. String Operations
Chomp:
chomp($name);
#removes the trailing new line
Concatenation:
my $name = “Varadharajan ” . “Mukundan”;
Multiplication:
$name = “hello ” x 3;
#Assigns “hello hello hello” to name
14. Arrays
Set of Scalar variables
Arrays start with '@'
Declaring Arrays:
− Syntax:
my @array_name=(value1,value2);
− Example:
my @list = ('varadharajan',99,'cool');
16. Array Slices
Access a set of continuous elements in an
array.
− Syntax:
@array_name[start_index .. end_index];
− Example:
print @list[ 0 .. 2 ];
# Prints $list[0], $list[1], $list[2]
17. Hashes
“Key – value ” Data Structure.
Keys present in a hash must be unique
Value may be same for multiple keys
Also commonly known as dictionaries
18. Hashes
Initializing a Hash:
− Syntax:
my %hash_name = ( key => 'value');
− Example:
my %students = (
name => 'varadharajan',
age => 1
);
20. Hash Slices
Just like array slices
Syntax:
@hash_name{'key1','key2'};
Example:
print @student{'name','age'};
21. Magic Variable: $_
Default variable for storing values, if no
variables are manually specified.
Example:
my @list = (1,2,4,34,5,223);
foreach (@list)
{
print;
}
# prints the entire list
22. Magic Variable: @ARGV
This Array is used to store the command
line arguments
Example
print $ARGV[0];
# when this script is executed like this
# perl test1.pl text
# it prints “text”
28. File Operations
Reading from a File:
− Syntax:
@array_name = <FILE_HANDLE>;
− Example:
@data = <MYFILE>;
# Now @data contains the data presents in
# File whose file handle is MYFILE
29. File Operations
Writing to a File:
− Syntax:
print FILE_HANDLE “Text”;
− Example:
print MYFILE “This is the content”;
31. Split Function
Splits a scalar variable into arrays
− Syntax:
@array = split(PATTERN,EXPR);
− Example:
@words = split(/ /,$sentence);
32. Join Function
Used to join all elements in an array to
form a scalar
− Syntax:
$string = join(Joining_element,@arrays);
− Example:
$sentence = join(' ',@words);
33. Executing Shell Commands
Makes us executed Shell commands from
a Perl script
− Syntax:
system(command);
− Example:
$ls_data = system(“ls”);
34. Advanced Concepts
Subroutines
Global and Local variables
Regular Expressions
OO programming
CPAN
35. Perl Resources
Perl POD
Learning Perl from o'reilly
Programming Perl from o'reilly
Perl Beginners Mailing list at
http://www.nntp.perl.org/group/perl.beginn
ers/