• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Introduction to perl_ a scripting language
 

Introduction to perl_ a scripting language

on

  • 612 views

Perl Presentation slides during 2011

Perl Presentation slides during 2011

Statistics

Views

Total Views
612
Views on SlideShare
612
Embed Views
0

Actions

Likes
0
Downloads
21
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Get unix/programming background Purpose of the course is more a introduction to perl, a quick tour rather than a programming course.
  • Dynamic typing

Introduction to perl_ a scripting language Introduction to perl_ a scripting language Presentation Transcript

  • Vamshi Krishna S
  • Practical Extraction and Report Language ‘A general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development-CGI scripting, network programming, GUI development, and more.’ ‘The language is intended to be PRACTICAL (easy to use, efficient, complete) rather than BEAUTIFUL (tiny, elegant, minimal).’ And Some More: ‘Many earlier computer languages, such as Fortran and C, were designed to make efficient use of expensive computer hardware. In contrast, Perl is designed to make efficient use of expensive computer programmers. Perl has many features that ease the programmer's task at the expense of greater CPU and memory requirements. These include automatic memory management; dynamic typing; strings, lists, and hashes; regular expressions;
  •  Larry Wall invented PERL in the mid-1980's Larry Wall was trained as a linguist, and the design of Perl is very much informed by linguistic principles. Examples include Huffman coding (common constructions should be short), good end-weighting (the important information should come first), and a large collection of language primitives. Perl favors language constructs that are natural for humans to read and write, even where they complicate the Perl interpreter.’ Perl has rapidly become the language of choice for writing programs quickly and robustly across a wide range of fields - ranging from systems administration, text processing, linguistic analysis, molecular biology and (most importantly of all) the creation of dynamic World Wide Web pages. It has been estimated that about 80% of dynamic webpages worldwide are being created by Perl programs.
  •  PERL encompasses both the syntactical rules of the language and the general ways in which programs are organized  It is dynamically typed language.  Relatively easy to learn (and easier to make a mess too).  incredibly flexible coding style (some argues it is too flexible).  Perl is interpreted not complied hence its scripting language.  It follows OOPs concepts.  http://perldoc.perl.org/perldoc.html
  •  CPAN(comprehensive Pern Archive Network) : consists of Additional perl modules(more than 100,000 modules), documentation,various releases etc.,  HTTP://cpan.org/
  •  Define the problem  Search for existing code  Plan your solution  Write the code  Modify ->Debug ->Modify  Run the code
  •  Now-a-days On *nix OSes Perl comes installed automatically. And can be located at /usr/bin/perl and / usr/local/bin/perl To install Perl on Windows :  http://strawberry perl.com/  http://www.activ estate.com/active perl
  •  Open a terminal  Make a perl dir(directory) in your home dir  Move into the perl directory  Create a file named ‘hello_world.pl’  Open the file in your text editor  Code the program  Save the file  Make the program executable  Test the program.
  •  # Unix  perl -e 'print "Hello worldn"‘  # MS-DOS  perl -e "print "Hello worldn""
  • Location of perl is normally in /usr/bin/perl and /usr/local/bin/perl Perfix the script with #!/usr/bin/perl And also you can type in “use <version>” to use the latest version #!/usr/bin/perl -w use strict; use warnings; my $message = ‘Welcome to perl tutorial’; print “t hello world $message.!!n”; print ‘hello world $message.!!n’ #prints $messagen literally
  •  Scalar: a single piece of information. Scalars can hold numbers or text  $ is the identifier of scalar in perl  There are special variables for the system: $ARGV,$!  @scores = (32, 45, 16, 5);  @cars = (BMW,Renault,Jaguar,Ferrari); or @cars = qw(BMW Renault Jaguar Ferrari);  my @sorted = sort @cars;  my @backwards = reverse @scores;  $multilined_string = <<EOF; This is my multilined string note that I am terminating it with the word "EOF". EOF  Scalar values are represented as $var = <num/char> ; Dynamic typing
  •  Array/List: an ordered collection of scalars  my @array = ( 1, 2 );  my @words = ( "first", "second", "third" );  my @mixed = ("camel", 42, 1.23); print $mixed[$#mixed]; # last element, prints out 1.23  Subscripts An array can be accessed one scalar at a time by specifying a dollar sign ($ ), then the name of the array (without the leading @ ), then the subscript inside square brackets.  For example: @myarray = (5, 50, 500, 5000); print "The Third Element is", $myarray[2], "n";
  • Declaration of HASHes %scientists = ( "Newton" => "Isaac", "Einstein" => "Albert", "Darwin" => "Charles", "Feynman" => "Richard", ); print "Darwin's First Name is ", $scientists{"Darwin"}, "n"; Hash subscripts are similar, only instead of square brackets curly brackets are used
  • my %fruit_color = ("apple", "red", "banana", "yellow");  To get at hash elements: $fruit_color{"apple"}; # gives "red“  To get a lists of keys and values with keys() and values(). my @fruits = keys %fruit_colors; my @colors = values %fruit_colors;
  •  Some scalar variables have special meaning in Perl. Of note are `$_`, `$!`, `$0`, and `$$`.
  •  There are system defined functions for operations on Scalar variables, Arrays, Hashes, File Handlers, Regular Expressions, Sub routines, Modules etc., which appear like keywords some times and take arguments Eg: Chomp, join, my, our, grep, mkdir, open, import,defined,undef,sort,reverse etc., For detailed description follow: http://perldoc.perl.org/perlfunc.html#Perl-Functions-by-Category
  •  double quotes(“), single quotes(‘) and multi-line quoting(qq) : $var =10; $text = “There are $var apples” $text2 = ‘There are $var apples’ $text3 = qq{ There are $var apples};
  • Functions are blocks of code which perform specific task #takes no input and returns no output… common practice to use #‘main’ as the starting point in a script. sub main { … } #Takes 2 *scalars* as input sums them and returns one scalar. sub sum_2_numbers { my ($numA,$numB) = @_; #get passed in values my $sum = $numA+$numB; #sum numbers return($sum); #return sum }
  •  if/else  if ( condition ) {…} elsif ( other condition ) {…} else {…}  Unless die "Can't cd to spool: $!n" unless chdir '/usr/spool/news';  While while (($key, $value) = each %hash) { print $key, "n"; delete $hash{$key}; }  Until $count = 10; until ($count == 0) { print "$count "; $count--;}  foreach foreach $index (0 .. $#ARRAY) { delete $ARRAY[$index];
  •  Logical operators: ==, !=, &&, ||, eq and ne
  •  Undefined/” ”/0 values are treated as false  Scalars are evaluated as: numbers are evaluated as true if non-zero strings are evaluated as true if non-empty $var = “false”; if($var) { say “$var is true!”; }
  •  Scripts can take inputs in two ways:  Arguments  ./print_args.pl ARG1 ARG2  Prompted inputs from users  $user_text = <STDIN>
  •  Things don’t always come out as expected. It is good to check the output of important functions for errors, it is highly recommended to validate any input from users or external sources  Die  Warn