22-03-2011, 10:14 AM
Presented by
Pradeepsunder
[attachment=10706]
Why PERL ???
• Practical extraction and report language
• Similar to shell script but lot easier and more powerful
• Easy availablity
• All details available on web
• Perl stands for practical extraction and report language.
• Perl is similar to shell script. Only it is much easier and more akin to the high end programming.
• Perl is free to download from the GNU website so it is very easily accessible .
• Perl is also available for MS-DOS,WIN-NT and Macintosh.
Basic Concepts
• Perl files extension .Pl
• Can create self executing scripts
• Advantage of Perl
• Can use system commands
• Comment entry
• Print stuff on screen
Basics
• Can make perl files self executable by making first line as #! /bin/perl.
– The extension tells the kernel that the script is a perl script and the first line tells it where to look for perl.
• The -w switch tells perl to produce extra warning messages about potentially dangerous constructs.
• The advantage of Perl is that you dont have to compile create object file and then execute.
• All commands have to end in ";" .
can use unix commands by using.
– System("unix command");
• EG: system("ls *");
– Will give the directory listing on the terminal where it is running.
• The pound sign "#" is the symbol for comment entry. There is no multiline comment entry , so you have to use repeated # for each line.
• The "print command" is used to write outputs on the screen.
– Eg: print "this is ece 902";
Prints "this is ece 902" on the screen.It is very similar to printf statement in C.
• If you want to use formats for printing you can use printf.
How to Store Values
• Scalar variables
• List variables
• Push,pop,shift,unshift,reverse
• Hashes,keys,values,each
• Read from terminal, command line arguments
• Read and write to files
Scalar Variables
• They should always be preceded with the $ symbol.
• There is no necessity to declare the variable before hand .
• There are no datatypes such as character or numeric.
• The scalar variable means that it can store only one value.
• If you treat the variable as character then it can store a character. If you treat it as string it can store one word . if you treat it as a number it can store one number.
• Eg $name = "betty" ;
• The value betty is stored in the scalar variable $name.
• EG: print "$name \n"; The ouput on the screen will be betty.
• Default values for all variables is undef.Which is equivalent to null.
List Variables
• They are like arrays. It can be considered as a group of scalar variables.
• They are always preceded by the @symbol.
– Eg @names = ("betty","veronica","tom");
• Like in C the index starts from 0.
• If you want the second name you should use $names[1] ;
• Watch the $ symbol here because each element is a scalar variable.
• $ Followed by the listvariable gives the length of the list variable.
– Eg $names here will give you the value 3.
Push,pop,shift,Unshift,reverse
• These are operators operating on the list variables.
• Push and pop treat the list variable as a stack and operate on it. They act on the higher subscript.
– Eg push(@names,"lily") , now the @names will contain ("betty","veronica","tom","lily").
– Eg pop(@names) will return "lily" which is the last value. And @names will contain ("betty","veronica","tom").
• Shift and unshift act on the lower subscript.
– Eg unshift(@names,"lily"), now @names contains ("lily","betty","veronica","tom").
– Eg shift(@names) returns "lily" and @names contains ("betty","veronica","tom").
• Reverse reverses the list and returns it.
Hashes,keys,values,each
• Hashes are like arrays but instead of having numbers as their index they can have any scalars as index.
• Hashes are preceded by a % symbol.
– Eg we can have %rollnumbers = ("A",1,"B",2,"C",3);
• If we want to get the rollnumber of A we have to say $rollnumbers{"a"}. This will return the value of rollnumber of A.
• Here A is called the key and the 1 is called its value.
• Keys() returns a list of all the keys of the given hash.
• Values returns the list of all the values in a given hash.
• Each function iterates over the entire hash returning two scalar value the first is the key and the second is the value
– Eg $firstname,$lastname = each(%lastname) ;
– Here the $firstname and the $lastname will get a new key value pair during each iteration