Download presentation
Presentation is loading. Please wait.
Published byMark Osborne Modified over 9 years ago
1
print 'Hello world.'; Tren Griffith
2
Outline: Perl introduction Scalar Data Variables Operators Control Structures Input Lists and Arrays Comparison Examples
3
Introduction Unix scripting language. Developed in 1987 for report (text) processing. Free under GNU Public License. TMTOWTDI - “Tim Toady” – Perl’s Motto. There’s more than one way to do it.
4
Scalar Data & Variables Two basic Scalar data types. Numbers ○ Integer or Floating-point. ○ undef = 0 Strings ○ Sequence of Characters. ○ Enclosed in either single or double quotes. ○ undef = Empty string Each Scalar variable holds a single value. Names of variables begin with a $ and followed by an identifier. $Employee $Count
5
Features: Any scalar variable inside a double quoted string, is replaced by its value. Example: ○ $string="world"; print "hello $string \n"; ○ The example will print “hello world” and switch to a new line
6
Features II: There is automatic conversion between numbers and strings. Examples: $fred=10; $barney=5; Print $fred*$barney; #Prints 50. As the * is a arithmetic operator, it multiplies. Print $fred x $barney; #Prints 1010101010 Since x is a string operator, Perl interrupts this as “10 five times” Print $fred. $barney; #Prints 105 Since. (dot) is a string operator, Perl interrupts this as “10 and 5”
7
Features III: Automatic conversion between numbers and strings: In practice. In C++ - If you needed to use an integer as a string… ○ std::string IntToStr( int n ) { std::ostringstream result; result << n; return result.str(); } In Perl – If you need to use an integer as a string… Just use it. No conversion needed.
8
Control Structure If Statement: if(…){ … } If Else Statement: if(…){ … } else { … } While Statement while(…){ … }
9
Control Structure II While Very Similar to C++, however braces are required in all cases. In C++: ○ while(…) cout << “Hello”; ○ It is legal to omit braces in C++. In Perl: ○ while(…) { $counter++ } ○ Program would fail without the braces.
10
Operators Assignment Operator: = Arithmetic Operator: + - * / String Operator. Concatenation X Repetition Numeric Comparison: == (Equal) != (Not Equal) <, <= (Less than, less than or equal to) >, >= (Greater than, Greater than or equal)
11
Standard Input Reads input and outputs if the line was empty or not. $line= ; if($line eq “\n”){ print “Empty line. \n” } else { print “Not empty line. \n” }
12
Standard Input II Example of Perl’s “There is more than one way to do it” Reads a line, outputs the line, and stops at end of file. ○ More strict version: while(defined($line= )){ print “This line was: $line \n”; } ○ Shortcut version: while( ){ print “This line was: $_ \n”; }
13
Lists and Arrays Lists are very user friendly in Perl. The sigil of an array(list) is @ (1,2,3,4,5,6,7) # A list of numbers. (1..7) # The exact same list, created by the range operator. ($a..$b) # Range set by variables. Accessing Lists: Very similar to how you would access a C++ Vector. @numbers=(1..5); print $numbers[0]; #Prints 1 – Lists begin at 0 print $numbers[2]; #Prints 3 print $numbers[5]; #Nothing is printed, value of anything out of range is undef. Print $numbers[$#numbers]; #prints 5, the last element of the list.
14
Lists and Arrays II Swaps the values of $barney and $fred ($fred, $barney)=($barney, $fred) Reading into a list: While(<>){ $lines[$index]=$_; $index=$index+1; } print $#lines+1; #This will print out the number of lines print @lines; #This will print out the list itself
15
Resources and Citation. www.perl.org www.perl.org http://www.cs.drexel.edu/~knowak/cs265 _fall_2010/Perl_resources.htm http://www.cs.drexel.edu/~knowak/cs265 _fall_2010/Perl_resources.htm
16
The end. Any questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.