SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Perl Scripting




        M. Varadharajan
Thiagarajar College of Engineering
What We Will Cover?
   What is Perl?
   Creating and Executing Perl scripts
   Standard Input and Output
   Scalar Variables
   Arrays
   Hashes
   Magic Variables: $_ and @ARGV
What We Will Cover?
   Control Structures
   Looping Structures
   File Operations
   Split & Join
   Using shell commands
   Advanced Concepts you'll need to know
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
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)
Typical Uses of Perl
   Text processing
   System administration tasks
   CGI and web programming
   Database interaction
   Other Internet programming
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”;
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
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
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
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”;
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”;
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
Arrays
   Set of Scalar variables
   Arrays start with '@'
   Declaring Arrays:
        −   Syntax:
              my @array_name=(value1,value2);
        −   Example:
              my @list = ('varadharajan',99,'cool');
Arrays
   Accessing individual elements:
       −   Syntax:
             $array_name[index];
             #index starts with 0


       −   Example:
             print $list[1]; #prints 10
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]
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
Hashes
   Initializing a Hash:
        −   Syntax:
              my %hash_name = ( key => 'value');
        −   Example:
              my %students = (
                               name => 'varadharajan',
                                age => 1
                             );
Hashes
   Accessing a Hash
       −   Syntax:
             $hash_name{key_name};
       −   Example:
             print $student{name};
             #prints varadharajan
             print $student{age};
             #prints 18
Hash Slices
   Just like array slices
   Syntax:
               @hash_name{'key1','key2'};
   Example:
               print @student{'name','age'};
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
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”
Conditional control Structures
   IF – ELSIF – ELSE statement:
       −   Syntax:
             if (EXPR) {BLOCK}
             elsif (EXPR) {BLOCK}
             else {BLOCK}
       −   Example:
             if($age==18) {print “Eighteen”;}
             elsif($age==19) {print “Nineteen”}
             else {print $age;}
Looping Structures
   While:
             $i = 0;
             while ($i < 10)
             {
                   print $i;
                   $i++;
             }
             # Prints 0123456789
Looping Structures
   For:
           for($i=0;$i<10;$i++)
           {
                 print $i;
           }
           # prints 0123456789
Looping Structures
   Foreach:
               my @list = (“varadha”,19);
               foreach $value (@list)
               {
                     print $value;
               }
               # prints the list
File Operations
   Opening a File:
       −   Syntax:
             open(FILE_HANDLE , “[< |> |>>]File_Name”);
       −   Example:
             open(MYFILE, “<myfile.txt”);
       −   Available Modes:
             < - Read Mode
             > - Write Mode
             >> - Append Mode
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
File Operations
   Writing to a File:
        −   Syntax:
              print FILE_HANDLE “Text”;
        −   Example:
              print MYFILE “This is the content”;
File Operations
   Closing a File:
        −   Syntax:
              close(FILE_HANDLE);
        −   Example:
              close(MYFILE);
Split Function
   Splits a scalar variable into arrays
        −   Syntax:
              @array = split(PATTERN,EXPR);
        −   Example:
              @words = split(/ /,$sentence);
Join Function
   Used to join all elements in an array to
    form a scalar
        −   Syntax:
              $string = join(Joining_element,@arrays);
        −   Example:
              $sentence = join(' ',@words);
Executing Shell Commands
   Makes us executed Shell commands from
    a Perl script
       −   Syntax:
             system(command);
       −   Example:
             $ls_data = system(“ls”);
Advanced Concepts
   Subroutines
   Global and Local variables
   Regular Expressions
   OO programming
   CPAN
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/
That's All Folks
   Ping me at srinathsmn@gmail.com



                 Thank You

Contenu connexe

Tendances

Javascript variables and datatypes
Javascript variables and datatypesJavascript variables and datatypes
Javascript variables and datatypes
Varun C M
 

Tendances (20)

Python Functions
Python   FunctionsPython   Functions
Python Functions
 
Binary Search Tree in Data Structure
Binary Search Tree in Data StructureBinary Search Tree in Data Structure
Binary Search Tree in Data Structure
 
Strings in c
Strings in cStrings in c
Strings in c
 
Python : Data Types
Python : Data TypesPython : Data Types
Python : Data Types
 
Python programming : Strings
Python programming : StringsPython programming : Strings
Python programming : Strings
 
Python decision making
Python   decision makingPython   decision making
Python decision making
 
Handling of character strings C programming
Handling of character strings C programmingHandling of character strings C programming
Handling of character strings C programming
 
Memory allocation in c
Memory allocation in cMemory allocation in c
Memory allocation in c
 
Data structure in perl
Data structure in perlData structure in perl
Data structure in perl
 
Data structure - Graph
Data structure - GraphData structure - Graph
Data structure - Graph
 
Python Programming - Files & Exceptions
Python Programming - Files & ExceptionsPython Programming - Files & Exceptions
Python Programming - Files & Exceptions
 
Python Exception Handling
Python Exception HandlingPython Exception Handling
Python Exception Handling
 
File handling in c
File handling in cFile handling in c
File handling in c
 
Input output statement in C
Input output statement in CInput output statement in C
Input output statement in C
 
Applications of stack
Applications of stackApplications of stack
Applications of stack
 
Python exception handling
Python   exception handlingPython   exception handling
Python exception handling
 
Control statements in java programmng
Control statements in java programmngControl statements in java programmng
Control statements in java programmng
 
Javascript variables and datatypes
Javascript variables and datatypesJavascript variables and datatypes
Javascript variables and datatypes
 
Python strings presentation
Python strings presentationPython strings presentation
Python strings presentation
 
GE8151 Problem Solving and Python Programming
GE8151 Problem Solving and Python ProgrammingGE8151 Problem Solving and Python Programming
GE8151 Problem Solving and Python Programming
 

En vedette

Introduction to Perl - Day 2
Introduction to Perl - Day 2Introduction to Perl - Day 2
Introduction to Perl - Day 2
Dave Cross
 
Perl hosting for beginners - Cluj.pm March 2013
Perl hosting for beginners - Cluj.pm March 2013Perl hosting for beginners - Cluj.pm March 2013
Perl hosting for beginners - Cluj.pm March 2013
Arpad Szasz
 
Introduction to Web Programming with Perl
Introduction to Web Programming with PerlIntroduction to Web Programming with Perl
Introduction to Web Programming with Perl
Dave Cross
 
Database Programming with Perl and DBIx::Class
Database Programming with Perl and DBIx::ClassDatabase Programming with Perl and DBIx::Class
Database Programming with Perl and DBIx::Class
Dave Cross
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
Varun Garg
 
Perl 101 - The Basics of Perl Programming
Perl  101 - The Basics of Perl ProgrammingPerl  101 - The Basics of Perl Programming
Perl 101 - The Basics of Perl Programming
Utkarsh Sengar
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
Masahiro Nagano
 

En vedette (20)

LPW: Beginners Perl
LPW: Beginners PerlLPW: Beginners Perl
LPW: Beginners Perl
 
Introduction to Perl - Day 2
Introduction to Perl - Day 2Introduction to Perl - Day 2
Introduction to Perl - Day 2
 
Perl hosting for beginners - Cluj.pm March 2013
Perl hosting for beginners - Cluj.pm March 2013Perl hosting for beginners - Cluj.pm March 2013
Perl hosting for beginners - Cluj.pm March 2013
 
Introduction to Web Programming with Perl
Introduction to Web Programming with PerlIntroduction to Web Programming with Perl
Introduction to Web Programming with Perl
 
Database Programming with Perl and DBIx::Class
Database Programming with Perl and DBIx::ClassDatabase Programming with Perl and DBIx::Class
Database Programming with Perl and DBIx::Class
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
 
Linux.ppt
Linux.ppt Linux.ppt
Linux.ppt
 
Introduction to Python
Introduction to PythonIntroduction to Python
Introduction to Python
 
Perl University: Getting Started with Perl
Perl University: Getting Started with PerlPerl University: Getting Started with Perl
Perl University: Getting Started with Perl
 
Questionnaire Analysis
Questionnaire AnalysisQuestionnaire Analysis
Questionnaire Analysis
 
Perl Introduction (OLD - NEARLY OBSOLETE)
Perl Introduction (OLD - NEARLY OBSOLETE)Perl Introduction (OLD - NEARLY OBSOLETE)
Perl Introduction (OLD - NEARLY OBSOLETE)
 
Ascii codes 3145_app_f
Ascii codes 3145_app_fAscii codes 3145_app_f
Ascii codes 3145_app_f
 
Perl 101 - The Basics of Perl Programming
Perl  101 - The Basics of Perl ProgrammingPerl  101 - The Basics of Perl Programming
Perl 101 - The Basics of Perl Programming
 
DBI
DBIDBI
DBI
 
Web Development in Perl
Web Development in PerlWeb Development in Perl
Web Development in Perl
 
Mojolicious. The web in a box!
Mojolicious. The web in a box!Mojolicious. The web in a box!
Mojolicious. The web in a box!
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
Modern Web Development with Perl
Modern Web Development with PerlModern Web Development with Perl
Modern Web Development with Perl
 
Modern Web Development with Perl
Modern Web Development with PerlModern Web Development with Perl
Modern Web Development with Perl
 
Sql ppt
Sql pptSql ppt
Sql ppt
 

Similaire à Perl Scripting

Lecture 22
Lecture 22Lecture 22
Lecture 22
rhshriva
 
Bash Shell Scripting
Bash Shell ScriptingBash Shell Scripting
Bash Shell Scripting
Raghu nath
 

Similaire à Perl Scripting (20)

Perl Basics for Pentesters Part 1
Perl Basics for Pentesters Part 1Perl Basics for Pentesters Part 1
Perl Basics for Pentesters Part 1
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
Lecture19-20
Lecture19-20Lecture19-20
Lecture19-20
 
Lecture19-20
Lecture19-20Lecture19-20
Lecture19-20
 
Lecture 22
Lecture 22Lecture 22
Lecture 22
 
Introduction to perl_lists
Introduction to perl_listsIntroduction to perl_lists
Introduction to perl_lists
 
Training on php by cyber security infotech (csi)
Training on  php by cyber security infotech (csi)Training on  php by cyber security infotech (csi)
Training on php by cyber security infotech (csi)
 
Subroutines
SubroutinesSubroutines
Subroutines
 
Perl
PerlPerl
Perl
 
Dades i operadors
Dades i operadorsDades i operadors
Dades i operadors
 
My shell
My shellMy shell
My shell
 
Bash Shell Scripting
Bash Shell ScriptingBash Shell Scripting
Bash Shell Scripting
 
SHELL PROGRAMMING
SHELL PROGRAMMINGSHELL PROGRAMMING
SHELL PROGRAMMING
 
Practical approach to perl day1
Practical approach to perl day1Practical approach to perl day1
Practical approach to perl day1
 
Marc’s (bio)perl course
Marc’s (bio)perl courseMarc’s (bio)perl course
Marc’s (bio)perl course
 
Perl bhargav
Perl bhargavPerl bhargav
Perl bhargav
 
Intro to PHP
Intro to PHPIntro to PHP
Intro to PHP
 
Bioinformatica: Esercizi su Perl, espressioni regolari e altre amenità (BMR G...
Bioinformatica: Esercizi su Perl, espressioni regolari e altre amenità (BMR G...Bioinformatica: Esercizi su Perl, espressioni regolari e altre amenità (BMR G...
Bioinformatica: Esercizi su Perl, espressioni regolari e altre amenità (BMR G...
 
tutorial7
tutorial7tutorial7
tutorial7
 
tutorial7
tutorial7tutorial7
tutorial7
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

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');
  • 15. Arrays  Accessing individual elements: − Syntax: $array_name[index]; #index starts with 0 − Example: print $list[1]; #prints 10
  • 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 );
  • 19. Hashes  Accessing a Hash − Syntax: $hash_name{key_name}; − Example: print $student{name}; #prints varadharajan print $student{age}; #prints 18
  • 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”
  • 23. Conditional control Structures  IF – ELSIF – ELSE statement: − Syntax: if (EXPR) {BLOCK} elsif (EXPR) {BLOCK} else {BLOCK} − Example: if($age==18) {print “Eighteen”;} elsif($age==19) {print “Nineteen”} else {print $age;}
  • 24. Looping Structures  While: $i = 0; while ($i < 10) { print $i; $i++; } # Prints 0123456789
  • 25. Looping Structures  For: for($i=0;$i<10;$i++) { print $i; } # prints 0123456789
  • 26. Looping Structures  Foreach: my @list = (“varadha”,19); foreach $value (@list) { print $value; } # prints the list
  • 27. File Operations  Opening a File: − Syntax: open(FILE_HANDLE , “[< |> |>>]File_Name”); − Example: open(MYFILE, “<myfile.txt”); − Available Modes: < - Read Mode > - Write Mode >> - Append Mode
  • 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”;
  • 30. File Operations  Closing a File: − Syntax: close(FILE_HANDLE); − Example: close(MYFILE);
  • 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/
  • 36. That's All Folks  Ping me at srinathsmn@gmail.com Thank You