Introduction to Perl Learning Objectives: 1. To introduce the features provided by Perl 2. To learn the basic Syntax & simple Input/Output control in Perl.

Slides:



Advertisements
Similar presentations
A Guide to Unix Using Linux Fourth Edition
Advertisements

The Linux Operating System Lecture 6: Perl for the Systems Administrator Tonga Institute of Higher Education.
Lecture 2 Introduction to C Programming
Introduction to C Programming
 2005 Pearson Education, Inc. All rights reserved Introduction.
1 Chapter 2 Introduction to Java Applications Introduction Java application programming Display ____________________ Obtain information from the.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line.
Introduction to C Programming
Perl I/O Learning Objectives: 1. To understand how to perform input from standard Input & how to process the input 2. To understand how to perform input.
Perl Process Management Software Tools. Slide 2 system Perl programs can execute shell commands (Bourne shell) using the system function. system("date");
Shell Programming Software Tools. Slide 2 Shells l A shell can be used in one of two ways: n A command interpreter, used interactively n A programming.
Perl Process Management Learning Objectives: 1. To learn the different Perl’s commands for invoking system process 2. To learn how to perform process management.
Scalar Variables Start the file with: #! /usr/bin/perl –w No spaces or newlines before the the #! “#!” is sometimes called a “shebang”. It is a signal.
Perl I/O Software Tools. Lecture 15 / Slide 2 Input from STDIN Reading from STDIN is easy, and we have done it many times. $a = ; In a scalar context,
Introduction to Perl Software Tools. Slide 2 Introduction to Perl l Perl is a scripting language that makes manipulation of text, files, and processes.
Shell Programming Learning Objectives: 1. To understand the some basic utilities of UNIX File 2. To compare UNIX shell and popular shell 3. To learn the.
Guide To UNIX Using Linux Third Edition
Guide To UNIX Using Linux Third Edition
XP Tutorial 1 New Perspectives on JavaScript, Comprehensive1 Introducing JavaScript Hiding Addresses from Spammers.
Introduction to C Programming
Introduction to scripting
Computer Programming for Biologists Class 2 Oct 31 st, 2014 Karsten Hokamp
Introduction to C++ - How C++ Evolved Most popular languages currently: COBOL, Fortran, C, C++, Java (script) C was developed in 1970s at AT&T (Richie)
JavaScript, Fifth Edition Chapter 1 Introduction to JavaScript.
Introduction to Perl Practical Extraction and Report Language or Pathologically Eclectic Rubbish Lister or …
Message from Greg You recently covered fopen, fread and fwrite. There are also unbuffered versions, open,read,write. The quiz: will be last ½ hour of class.
Chapter Four UNIX File Processing. 2 Lesson A Extracting Information from Files.
Guide To UNIX Using Linux Fourth Edition
An Introduction to Unix Shell Scripting
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
Input, Output, and Processing
Introduction to Bash Programming Ellen Zhang. Previous three classes What have we learnt so far ?
CS465 - UNIX The Bourne Shell.
1 System Administration Introduction to Scripting, Perl Session 3 – Sat 10 Nov 2007 References:  chapter 1, The Unix Programming Environment, Kernighan.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 2 Chapter 2 - Introduction to C Programming.
 Pearson Education, Inc. All rights reserved Introduction to Java Applications.
Shell Programming. The UNIX Shell  The UNIX shell listens to what you type and executes commands at your request. User command: lpr file UNIX Shell UNIX.
Introduction to Unix – CS 21
1 Introduction to Perl CIS*2450 Advanced Programming Techniques.
Shell Programming Learning Objectives: 1. To understand the some basic utilities of UNIX File 2. To compare UNIX shell and popular shell 3. To learn the.
LIN Unix Lecture 5 Unix Shell Scripts. LIN Command Coordination ; && || command1 ; command2 Interpretation: Do command 1. Then do command.
Introduction to Unix (CA263) Quotes By Tariq Ibn Aziz.
Introduction to Perl. What is Perl Perl is an interpreted language. This means you run it through an interpreter, not a compiler. Similar to shell script.
Agenda The Bourne Shell – Part II Special Characters Ambiguous File Reference Variable Names and Values User Created Variables Read-only Variables (Positional.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 2 - Introduction to C Programming Outline.
 2007 Pearson Education, Inc. All rights reserved. A Simple C Program 1 /* ************************************************* *** Program: hello_world.
Dept. of Animal Breeding and Genetics Programming basics & introduction to PERL Mats Pettersson.
Linux Administration Working with the BASH Shell.
1 Lecture 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line of Text 2.3Another Simple C Program: Adding.
Scripting Languages Course 7 Diana Trandab ă ț Master in Computational Linguistics - 1 st year
Topics Designing a Program Input, Processing, and Output
CS 330 Class 7 Comments on Exam Programming plan for today:
Chapter 6 JavaScript: Introduction to Scripting
Chapter 2 - Introduction to C Programming
Introduction Python is an interpreted, object-oriented and high-level programming language, which is different from a compiled one like C/C++/Java. Its.
Getting Started with C.
PHP Introduction.
Chapter 2 - Introduction to C Programming
Intro to PHP & Variables
Introduction to Python
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Chapter Four UNIX File Processing.
Perl I/O Learning Objectives:
Chapter 2 - Introduction to C Programming
Shell Programming.
Topics Designing a Program Input, Processing, and Output
Chapter 2 - Introduction to C Programming
Introduction to Perl Learning Objectives:
Presentation transcript:

Introduction to Perl Learning Objectives: 1. To introduce the features provided by Perl 2. To learn the basic Syntax & simple Input/Output control in Perl 3. To learn how to combine Unix Command in Perl using backquotes

COMP111 Lecture 9 / Slide 2 Introduction to Perl Table of Content  Introduction to Perl  Basic Syntax  Perl Example 1  Scalar Variables  Assigning Scalar Variables  Numerical Scalar Variable  User Input  Printing Special Symbol - $  Numerical Example  Backquotes: Command Substitution  Backquote Example 2

COMP111 Lecture 9 / Slide 3 Introduction to Perl  Perl is a scripting language that makes manipulation of text, files, and processes easy.  Perl is a cross between shell programming and the C programming language. C (numbers) Shell programming (text) Smalltalk (objects) C++ (numbers, objects) Perl (text, numbers) Java (objects)

COMP111 Lecture 9 / Slide 4 Introduction to Perl  Perl provides a more concise and readable way to do many tasks compared to C++ and shell scripts.  Perl has replaced shell programming as the most popular programming language for text processing and Unix system administration.  Perl was originally designed under Unix, but now also runs under all operating systems (including Windows).  Many libraries available (e.g. database, internet)  Perl is also a popular language for CGI (for web server) and GUI programming.

COMP111 Lecture 9 / Slide 5 Introduction to Perl  The perl command on our system invokes Perl 4.0, but we want to use the latest version Perl 5.0.  You can run a perl 5.0 script explicitly with perl5: $ cat simple $ perl5 simple $  You can run the script directly if you make the script executable, and the first line is of the following form ( #!/usr/... must start from the first column): $ chmod +x simple $ cat simple #!/usr/local/bin/perl5 -w $ simple $

COMP111 Lecture 9 / Slide 6 Basic Syntax (1)  The -w option tells Perl to produce extra warning messages about potential dangers. Use -w in all your Perl programs for now. #!/usr/local/bin/perl5 -w  Whitespace doesn't matter in Perl (like C++), except for #!/usr/local/bin/perl5 -w which must start from column 1 on line 1.

COMP111 Lecture 9 / Slide 7 Basic Syntax (2)  All perl statements end in a semicolon ; (like C++)  In Perl, comments begin with # (like shell scripts)  everything after the # to the end of the line is ignored.  # need not be at the beginning of the line.  there are no C++-like multiline comments: /* */

COMP111 Lecture 9 / Slide 8 Perl Example 1 (1)  Here is a “ hello world ” Perl program: $ ls -l -rwxr-xr-x 1 horner cs 52 Mar 2 15:50 hello* $ cat hello #!/usr/local/bin/perl5 -w # comment lines start with the # character print "Hello world\n"; $ hello Hello world $  The print command sends the string to the screen, and “ \n “ adds a newline.

COMP111 Lecture 9 / Slide 9 Perl Example 1 (2)  You can optionally use parenthesis around the argument in print : print ("Hello world\n"); or, if your prefer the C++ function style: print("Hello world\n");

COMP111 Lecture 9 / Slide 10 Scalar Variables  A scalar variable can hold a single number or string (like shell variables), including integers and floating- point numbers (unlike shell variables).  Scalar variables begin with “ $ ” followed by a letter, and then possibly more letters, digits, or underscores. (e.g., $n, $n1, $name, $first_name ).  Scalar variables are case sensitive.

COMP111 Lecture 9 / Slide 11 Assigning Scalar Variables  Scalars are assigned using “ = “ $scalar = expression;  To assign a value to a scalar variable: $number = 25; $name = "Bill Clinton";  Unlike shell scripts, use the “ $ ” both when the variable is used and assigned: $ cat test1 #!/usr/local/bin/perl5 -w $number = 25; $name = "Bill Clinton"; print "$number $name\n"; $ test1 25 Bill Clinton $

COMP111 Lecture 9 / Slide 12 Numerical Scalar Variables  Internally, all numerical scalar values are stored as floats (so you don ’ t have to worry about integer division in Perl like you do in C++).  Perl supports the usual C++ numerical operations: $a = 25;# $a is now 25 $a += 5; # $a is now 30 $a *= 3; # $a is now 90 $a++; # $a is now 91 --$a; # $a is now 90 $result = ($a + 2) * 3.4; # $result is 312.8

COMP111 Lecture 9 / Slide 13 User Input (1)  Use to get input from the user: $ cat test2 #!/usr/local/bin/perl5 -w print "Enter name: "; $name = ; chomp ($name); print "How many girlfriends do you have? "; $number = ; chomp($number); print "$name has $number girlfriends!\n"; $ test2 Enter name: Bill Clinton How many girlfriends do you have? more than you Bill Clinton has more than you girlfriends!

COMP111 Lecture 9 / Slide 14 User Input (2)  grabs one line of input, including the newline character. So, after: $name = ; if the user typed “ Bill Clinton[ENTER] ”, $name will contain: “ Bill Clinton\n ”.  To delete the newline, the chomp() function takes a scalar variable, and removes the trailing newline if present. (If there is no newline at the end, it does nothing.)  A shortcut to do both operations in one line is: chomp($name = );

COMP111 Lecture 9 / Slide 15 Printing Special Symbol - $  As with the shell scripts, use a backslash before $ if you really want to print the dollar sign: $ cat test4 #!/usr/local/bin/perl5 -w print "Enter amount: "; $cost = ; print "The total is: \$$cost"; $ test4 Enter amount: The total is $18.50  No need to use chomp() if the newline on $cost can be used when it is printed.

COMP111 Lecture 9 / Slide 16 Numerical Example $ cat test6 #!/usr/local/bin/perl5 -w print "Enter height of rectangle: "; $height = ; print "Enter width of rectangle: "; $width = ; $area = $height * $width; print "The area of the rectangle is $area\n"; $ test6 Enter height of rectangle: 10 Enter width of rectangle: 5 The area of the rectangle is 50 $ test6 Enter height of rectangle: 10.1 Enter width of rectangle: 5.1 The area of the rectangle is 51.51

COMP111 Lecture 9 / Slide 17 Backquotes: Command Substitution  You can use command substitution in Perl like in shell scripts: $ whoami clinton $ cat test7 #!/usr/local/bin/perl5 -w $user = `whoami`; chomp($user); $num = `who | wc -l`; chomp($num); print "Hi $user! There are $num users logged on.\n"; $ test7 Hi clinton! There are 6 users logged on.  Command substitution will usually include a newline, so use chomp().

COMP111 Lecture 9 / Slide 18 Backquote Example 2 $ cat big1 #!/usr/local/bin/perl5 -w $dir = `pwd`; chomp($dir); $big = `ls -l | sort +4 | tail -1 | cut -c55-70`; chomp($big); $nline = `wc -l $big | cut -c6-8`; chomp($nline); $nword = `wc -w $big | cut -c6-8 `; chomp($nword); $nchar = `wc -c $big | cut -c6-8 `; chomp($nchar); print "The biggest file in $dir is $big.\n"; print "$big has $nline lines, $nword words, $nchar characters.\n " ; $ big1 The biggest file in /homes/horner/111/perl is big1. big1 has 14 lines, 66 words, 381 characters.