0
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 Var...
What We Will Cover?
   Control Structures
   Looping Structures
   File Operations
   Split & Join
   Using shell com...
What is Perl
   Perl stands for
        −   'Practical Extraction and Reporting Language'
   Developed by Larry Wall in ...
Some Advantages of Perl
   Free and Open source
   Fast, Flexible, Secure and Fun
   Interpreted Language
   Mature Co...
Typical Uses of Perl
   Text processing
   System administration tasks
   CGI and web programming
   Database interact...
Hello World!
   This script will print 'Hello World!'
   Creation of the Perl Script:
        −   Open your Text Editor ...
Hello World!
   Some point to Note:
       −   All Perl statements end with ';'
       −   Add 'use strict;' if you're se...
Hello World!
   Executing the script:
        −   Call the interpreter with the script
                     perl hellowor...
Scalar Variables
   Place to store a single item of data
   Scalar variables begin with '$'
   Declaration is as follow...
Standard Output
   Print function is used
   Syntax:
              print “some string”;


   Example: (script prints “P...
Standard Input
   Special operator '<>' is used
   Synatx:
              $scalar = <STDIN>;
   Example: (Get name and p...
String Operations
   Chomp:
              chomp($name);
              #removes the trailing new line
   Concatenation:
 ...
Arrays
   Set of Scalar variables
   Arrays start with '@'
   Declaring Arrays:
        −   Syntax:
              my @a...
Arrays
   Accessing individual elements:
       −   Syntax:
             $array_name[index];
             #index starts w...
Array Slices
   Access a set of continuous elements in an
    array.
       −   Syntax:
             @array_name[start_in...
Hashes
   “Key – value ” Data Structure.
   Keys present in a hash must be unique
   Value may be same for multiple key...
Hashes
   Initializing a Hash:
        −   Syntax:
              my %hash_name = ( key => 'value');
        −   Example:
...
Hashes
   Accessing a Hash
       −   Syntax:
             $hash_name{key_name};
       −   Example:
             print $...
Hash Slices
   Just like array slices
   Syntax:
               @hash_name{'key1','key2'};
   Example:
               p...
Magic Variable: $_
   Default variable for storing values, if no
    variables are manually specified.
   Example:
     ...
Magic Variable: @ARGV
   This Array is used to store the command
    line arguments
   Example
             print $ARGV[...
Conditional control Structures
   IF – ELSIF – ELSE statement:
       −   Syntax:
             if (EXPR) {BLOCK}
        ...
Looping Structures
   While:
             $i = 0;
             while ($i < 10)
             {
                   print $i...
Looping Structures
   For:
           for($i=0;$i<10;$i++)
           {
                 print $i;
           }
         ...
Looping Structures
   Foreach:
               my @list = (“varadha”,19);
               foreach $value (@list)
          ...
File Operations
   Opening a File:
       −   Syntax:
             open(FILE_HANDLE , “[< |> |>>]File_Name”);
       −   ...
File Operations
   Reading from a File:
       −   Syntax:
             @array_name = <FILE_HANDLE>;
       −   Example:
...
File Operations
   Writing to a File:
        −   Syntax:
              print FILE_HANDLE “Text”;
        −   Example:
  ...
File Operations
   Closing a File:
        −   Syntax:
              close(FILE_HANDLE);
        −   Example:
           ...
Split Function
   Splits a scalar variable into arrays
        −   Syntax:
              @array = split(PATTERN,EXPR);
  ...
Join Function
   Used to join all elements in an array to
    form a scalar
        −   Syntax:
              $string = j...
Executing Shell Commands
   Makes us executed Shell commands from
    a Perl script
       −   Syntax:
             syste...
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 ...
That's All Folks
   Ping me at srinathsmn@gmail.com



                 Thank You
Upcoming SlideShare
Loading in...5
×

Perl Scripting

7,020

Published on

My presentation for GTUG Summer Camp 2010,Madurai on "Introduction to Perl"

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,020
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
465
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Transcript of "Perl Scripting"

  1. 1. Perl Scripting M. Varadharajan Thiagarajar College of Engineering
  2. 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. 3. What We Will Cover?  Control Structures  Looping Structures  File Operations  Split & Join  Using shell commands  Advanced Concepts you'll need to know
  4. 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. 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. 6. Typical Uses of Perl  Text processing  System administration tasks  CGI and web programming  Database interaction  Other Internet programming
  7. 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. 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. 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. 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. 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. 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. 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. 14. Arrays  Set of Scalar variables  Arrays start with '@'  Declaring Arrays: − Syntax: my @array_name=(value1,value2); − Example: my @list = ('varadharajan',99,'cool');
  15. 15. Arrays  Accessing individual elements: − Syntax: $array_name[index]; #index starts with 0 − Example: print $list[1]; #prints 10
  16. 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. 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. 18. Hashes  Initializing a Hash: − Syntax: my %hash_name = ( key => 'value'); − Example: my %students = ( name => 'varadharajan', age => 1 );
  19. 19. Hashes  Accessing a Hash − Syntax: $hash_name{key_name}; − Example: print $student{name}; #prints varadharajan print $student{age}; #prints 18
  20. 20. Hash Slices  Just like array slices  Syntax: @hash_name{'key1','key2'};  Example: print @student{'name','age'};
  21. 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. 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. 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. 24. Looping Structures  While: $i = 0; while ($i < 10) { print $i; $i++; } # Prints 0123456789
  25. 25. Looping Structures  For: for($i=0;$i<10;$i++) { print $i; } # prints 0123456789
  26. 26. Looping Structures  Foreach: my @list = (“varadha”,19); foreach $value (@list) { print $value; } # prints the list
  27. 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. 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. 29. File Operations  Writing to a File: − Syntax: print FILE_HANDLE “Text”; − Example: print MYFILE “This is the content”;
  30. 30. File Operations  Closing a File: − Syntax: close(FILE_HANDLE); − Example: close(MYFILE);
  31. 31. Split Function  Splits a scalar variable into arrays − Syntax: @array = split(PATTERN,EXPR); − Example: @words = split(/ /,$sentence);
  32. 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. 33. Executing Shell Commands  Makes us executed Shell commands from a Perl script − Syntax: system(command); − Example: $ls_data = system(“ls”);
  34. 34. Advanced Concepts  Subroutines  Global and Local variables  Regular Expressions  OO programming  CPAN
  35. 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. 36. That's All Folks  Ping me at srinathsmn@gmail.com Thank You
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×