Difference between revisions of "PERL/C2/Arrays/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
 
(2 intermediate revisions by 2 users not shown)
Line 17: Line 17:
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide: Learning Objectives
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide: Learning Objectives
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| In this tutorial, we will learn about;
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| In this tutorial, we will learn about
  
 
* '''Index''' of an '''array'''
 
* '''Index''' of an '''array'''
Line 29: Line 29:
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide: System Requirements
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide: System Requirements
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Here I am using '''Ubuntu Linux12.04''' operating system and '''Perl 5.14.2'''
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Here I am using '''Ubuntu Linux12.04''' operating system and '''Perl 5.14.2'''
 +
  
 
I will also be using the '''gedit '''Text Editor.
 
I will also be using the '''gedit '''Text Editor.
Line 37: Line 38:
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide: Prerequisites
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide: Prerequisites
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| You should have basic knowledge of '''Variables & Data Structures '''in''' Perl'''
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| You should have basic knowledge of '''Variables, Comments & Data Structures '''in''' Perl'''
  
  
Knowledge of''' Comments, loops and conditional statements''' will be an added advantage'''.'''
+
Knowledge of''' loops and conditional statements''' will be an added advantage'''.'''
  
  
Line 47: Line 48:
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| * '''Array''' is a simple '''data structure''' which contains '''elements''' of any '''data type'''.
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"|  
 +
* '''Array''' is a simple '''data structure''' which contains '''elements''' of any '''data type'''.
 
* '''Array index''' starts from zero always.
 
* '''Array index''' starts from zero always.
 
* In '''Perl''', it is not necessary to declare the length of an '''array'''.
 
* In '''Perl''', it is not necessary to declare the length of an '''array'''.
Line 55: Line 57:
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| The syntax for declaring an array is -
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| The syntax for declaring an '''array''' is -
  
 
'''@myArray = (1, 2, 3, 'abc', 10.3);'''
 
'''@myArray = (1, 2, 3, 'abc', 10.3);'''
Line 67: Line 69:
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Let us understand this using a sample '''program'''.
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Let us understand this using sample '''program'''.
  
 
|-
 
|-
Line 91: Line 93:
 
'''@myArray = (1, 2, 3, 'abc', 10.3);'''
 
'''@myArray = (1, 2, 3, 'abc', 10.3);'''
  
'''print “Last index of myArray is: '''
+
'''print “Last index of myArray is:  
  
'''$#myArray\n”;'''
+
$#myArray\n”;'''
  
  
Line 99: Line 101:
  
 
<nowiki><<pause>></nowiki>
 
<nowiki><<pause>></nowiki>
 +
 +
  
  
Line 112: Line 116:
  
  
i.e number of elements, which is 5, minus 1.
+
i.e number of '''elements''', which is 5, minus 1.
  
 
|-
 
|-
Line 119: Line 123:
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Switch to terminal
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Switch to '''terminal''' and execute the '''Perl''' script.
  
  
 
Type
 
Type
  
'''perl arrayIndex.pl'''
+
'''perl arrayIndex.pl''' and press '''Enter'''.
  
  
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Now, switch to the '''terminal '''and '''execute '''the '''Perl''' script. Type -''' '''
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Type -''' '''
  
  
Line 140: Line 144:
  
 
Last index of myArray is: 4
 
Last index of myArray is: 4
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <nowiki>The output shown on terminal is <<pause>></nowiki>
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"|The output will be as displayed on the terminal  
 
+
  
 
'''Last index of myArray is: 4'''
 
'''Last index of myArray is: 4'''
 +
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Now, let us '''see how to get length of an array '''in perl.
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Now, let us see how to get length of an '''array '''in '''Perl'''.
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| There are many ways by which we can find the length of an '''array. '''
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| There are many ways by which we can find the length of an '''array. '''
 
 
These are as follows-
 
  
 
# Index of an '''array''' + 1; '''$#array + 1'''
 
# Index of an '''array''' + 1; '''$#array + 1'''
Line 176: Line 177:
 
Press '''Enter.'''
 
Press '''Enter.'''
  
 
This will open '''arrayLength Perl '''script in '''gedit'''.
 
  
 
|-
 
|-
Line 191: Line 190:
  
  
'''print "Length of an array using index: ", '''
+
'''print "Length of an array using index: ", $#myArray + 1, "\n"; '''
  
'''$#myArray + 1, "\n"; '''
 
  
 +
'''print "Length of an array using
  
'''print "Length of an array using scalar variable:  
+
scalar variable: $length\n"; '''
  
$length\n"; '''
 
  
 +
'''print "Length of an array using
  
'''print "Length of an array using scalar function: ", '''
+
scalar function: ", scalar(@myArray), "\n";'''
 
+
'''scalar(@myArray), "\n";'''
+
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Type the following piece of code, as shown on the screen-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Type the following piece of code, as shown on the screen-
  
 
<nowiki><<pause>></nowiki>
 
  
 
Here we have declared & defined an '''array''' which contains '''5 elements'''.  
 
Here we have declared & defined an '''array''' which contains '''5 elements'''.  
Line 215: Line 210:
  
  
Highlighted here are various ways to find the length of an '''array '''in '''Perl.'''
+
Highlighted, are various ways to find the length of an '''array '''in '''Perl.'''
  
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Highlight comma in print statement
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Highlight comma in print statement
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| '''Please note,'''
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| '''Please note -'''
  
We have '''concatenated''' the output in the '''print''' '''statement''' using '''comma.'''
+
We have '''concatenated''' the output in the '''print statement''' using '''comma.'''
  
 
|-
 
|-
Line 230: Line 225:
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Terminal
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Terminal
 +
  
  
Line 245: Line 241:
  
 
Length of an array using scalar function: 5
 
Length of an array using scalar function: 5
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| The output is as shown on the '''terminal.'''
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| The output will be as displayed on the '''terminal.'''
 +
 
  
  
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"|  
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Next, let us understand''' '''how to access''' '''individual '''elements '''in an '''array'''.
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Next, let us understand how to access   individual '''elements '''in an '''array'''.
  
 
|-
 
|-
Line 258: Line 255:
 
|-
 
|-
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Slide
 +
  
  
Line 275: Line 273:
  
 
and press '''Enter.'''
 
and press '''Enter.'''
 
 
This will open '''perlArray dot pl''' script in '''gedit'''.
 
  
  
Line 292: Line 287:
 
'''<nowiki># Access the first element of an array </nowiki>'''
 
'''<nowiki># Access the first element of an array </nowiki>'''
  
'''<nowiki>print "First element of myArray is: ", '''
+
'''<nowiki>print "First element of myArray is: ", $myArray[0], "\n"; </nowiki>'''
 
+
'''$myArray[0], "\n"; </nowiki>'''
+
  
  
 
'''<nowiki># Access 3rd element of an array </nowiki>'''
 
'''<nowiki># Access 3rd element of an array </nowiki>'''
  
'''<nowiki>print "3rd Element of myArray is: ", '''
+
'''<nowiki>print "3rd Element of myArray is: ", $myArray[2], "\n"; </nowiki>'''
 
+
'''$myArray[2], "\n"; </nowiki>'''
+
  
  
 
'''<nowiki># Access last element of an array </nowiki>'''
 
'''<nowiki># Access last element of an array </nowiki>'''
  
'''<nowiki>print "Last element of myArray is: ", '''
+
'''<nowiki>print "Last element of myArray is: ", $myArray[$#myArray], "\n";</nowiki>'''
  
'''$myArray[$#myArray], "\n";</nowiki>'''
 
  
  
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Type the following piece of code as shown.
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Type the following piece of code as shown.
  
 
<nowiki><<pause>></nowiki>
 
  
 
|-
 
|-
Line 323: Line 311:
  
  
'''<nowiki>print "First element of myArray is: ", </nowiki>'''
+
'''<nowiki>print "First element of myArray is: ", $myArray[0], "\n"; </nowiki>'''
  
'''<nowiki> $myArray[0], "\n"; </nowiki>'''
 
  
 
+
'''<nowiki>print "Last element of myArray is: ", $myArray[$#myArray], "\n";</nowiki>'''
'''<nowiki>print "Last element of myArray is: ", </nowiki>'''
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Please note-
 
+
'''<nowiki>$myArray[$#myArray], "\n";</nowiki>'''
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Please note-  
+
  
 
# '''myArray''' is declared with '''@ (at the rate)''' sign.
 
# '''myArray''' is declared with '''@ (at the rate)''' sign.
 
# But, to access an '''array element '''we need to use '''$ (dollar) '''sign.
 
# But, to access an '''array element '''we need to use '''$ (dollar) '''sign.
# To access the '''element '''at 3rd position, we need to pass '''index '''as 2
+
# To access the '''element '''at any position, we need to pass '''index ''' to an array
 
+
i.e position of '''element''' '''minus '''1.
+
 
+
  
Here, to access the first''' element '''of '''myArray '''
+
Here, to access the first''' element '''of '''myArray ''',
  
 
zero is passed as '''index.'''
 
zero is passed as '''index.'''
  
  
To access the last element of '''myArray '''we have passed the last '''index '''to '''myArray.'''
+
To access the last element of '''myArray ''', we have passed the last '''index '''to '''myArray.'''
  
  
 
Recall, we had learnt about this earlier.  
 
Recall, we had learnt about this earlier.  
 +
 +
|-
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Press ctrl + s
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Press '''Ctrl + S''' to save the file.
 +
 +
|-
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Switch to terminal
 +
 +
 +
'''perl perlArray.pl'''
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Then switch to the '''terminal '''and execute''' '''the '''Perl script''' as''' -'''
 +
 +
 +
'''perl perlArray dot pl'''
 +
 +
 +
and press''' Enter.'''
 +
 +
|-
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| Terminal
 +
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| The output will be as shown on the terminal
  
 
|-
 
|-
Line 360: Line 362:
 
# Using '''for loop'''
 
# Using '''for loop'''
 
# Using '''foreach loop'''
 
# Using '''foreach loop'''
 
  
 
|-
 
|-
Line 391: Line 392:
 
'''<nowiki># Do the operation on individual element </nowiki>'''
 
'''<nowiki># Do the operation on individual element </nowiki>'''
  
'''<nowiki>print "Printing element using for loop: ", </nowiki>'''
+
'''<nowiki>print "Printing element using for loop: ", $myArray[$i], "\n"; </nowiki>'''
 
+
'''<nowiki>$myArray[$i], "\n"; </nowiki>'''
+
  
 
'''} '''
 
'''} '''
Line 400: Line 399:
 
'''<nowiki># Used to separate the output on terminal </nowiki>'''
 
'''<nowiki># Used to separate the output on terminal </nowiki>'''
  
'''print "======================='''
+
'''print "====================\n"; '''
 
+
'''==========================\n"; '''
+
  
  
Line 411: Line 408:
 
'''<nowiki># Do the operation on individual element </nowiki>'''
 
'''<nowiki># Do the operation on individual element </nowiki>'''
  
'''print "Printing element using foreach loop: '''
+
'''print "Printing element using foreach loop: $element\n"; '''
 
+
'''$element\n"; '''
+
  
 
'''}'''
 
'''}'''
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| This will open '''loopingOverArray Perl script '''in '''gedit.'''
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Type the piece of code as shown on the screen
  
  
Type the piece of code as shown on the screen
+
Here, we are printing each '''element''' of the '''array''' by iterating the '''index'''.
 
+
<nowiki><<pause>></nowiki>
+
 
+
 
+
Here, we are printing each '''element''' of the '''array''' I have made this modification. Pls verify that this is correct.by iterating the '''index'''.
+
  
  
Line 441: Line 431:
 
* If you are not aware of '''for''' and''' foreach loops''',
 
* If you are not aware of '''for''' and''' foreach loops''',
 
* please go through the relevant tutorials
 
* please go through the relevant tutorials
* on the spoken tutorial website.  
+
* on the '''spoken tutorial''' website.  
 
+
  
 
|-
 
|-
Line 452: Line 441:
  
  
'''perl scalars.pl'''
+
'''perl loopingOverArray.pl'''
 
+
 
+
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Then switch to the '''terminal '''and execute''' '''the '''Perl script''' as''' -'''
 
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| Then switch to the '''terminal '''and execute''' '''the '''Perl script''' as''' -'''
  
Line 473: Line 460:
 
'''Printing element using for loop: 3 '''
 
'''Printing element using for loop: 3 '''
  
'''<nowiki>==========================</nowiki>'''
+
'''<nowiki>====================</nowiki>'''
  
 
'''Printing element using foreach loop: 1 '''
 
'''Printing element using foreach loop: 1 '''
Line 480: Line 467:
  
 
'''Printing element using foreach loop: 3 '''
 
'''Printing element using foreach loop: 3 '''
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| The following output is displayed on the '''terminal'''<nowiki>. <pause></nowiki>
+
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| The output will be as displayed on the '''terminal'''.
 
+
 
+
''<nowiki><< Will just highlight the output and will not read it while recording >></nowiki>''
+
 
+
  
 
|-
 
|-
Line 492: Line 475:
 
* '''@alphaArray = (a..d); '''
 
* '''@alphaArray = (a..d); '''
 
* i.e '''alphaArray''' will contain '''elements''' 'a', 'b', 'c' and 'd'
 
* i.e '''alphaArray''' will contain '''elements''' 'a', 'b', 'c' and 'd'
* Similarly  
+
* Similarly, '''@numericArray = (1..5);''' is same as '''@numericArray = (1, 2, ,3, 4, 5);'''
* '''@numericArray = (1..5);''' is same as '''@numericArray = (1, 2, ,3, 4, 5);'''
+
 
+
  
 
|-
 
|-
Line 504: Line 485:
  
  
'''@myarray = (19, 23, 56, 45, 87, 89); '''
+
'''@array = (19, 23, 56, 45, 87, 89); '''
  
'''<nowiki>@mynewArray = @myarray[1, 4];</nowiki>'''
+
'''<nowiki>@newArray = @myarray[1, 4];</nowiki>'''
  
  
After '''slicing''', '''mynewArray''' will look like this -
+
After '''slicing''', '''newArray''' will look like this -
  
'''@mynewArray = (23, 87);'''
+
'''@newArray = (23, 87);'''
  
 
|-
 
|-
Line 537: Line 518:
 
# Print '''Length '''and last '''index '''of this '''array'''
 
# Print '''Length '''and last '''index '''of this '''array'''
 
# '''Loop over''' each '''element''' of the '''array''' using '''for''' & '''foreach loops'''
 
# '''Loop over''' each '''element''' of the '''array''' using '''for''' & '''foreach loops'''
 +
# Declare '''array''' as @myArray = (1..9); and then create an '''array''' of odd numbers from above '''array''' using '''array slicing'''.
 +
 +
  
 
|-
 
|-

Latest revision as of 17:31, 12 November 2013

Title Of Script: Arrays in Perl

Author: Amol Brahmankar

Keywords: Array in perl video tutorial.


Visual Cue
Narration
Slide Welcome to the spoken tutorial on Arrays in Perl.
Slide: Learning Objectives In this tutorial, we will learn about
  • Index of an array
  • Length of an array
  • Accessing elements of an array
  • Looping over an array
  • Sequential Array
  • Array Slicing
Slide: System Requirements Here I am using Ubuntu Linux12.04 operating system and Perl 5.14.2


I will also be using the gedit Text Editor.


You can use any text editor of your choice.

Slide: Prerequisites You should have basic knowledge of Variables, Comments & Data Structures in Perl


Knowledge of loops and conditional statements will be an added advantage.


Please go through the relevant spoken tutorials on the spoken tutorial website.

Slide
  • Array is a simple data structure which contains elements of any data type.
  • Array index starts from zero always.
  • In Perl, it is not necessary to declare the length of an array.
  • Array length expands/shrinks as and when elements are added/removed from it.


Slide The syntax for declaring an array is -

@myArray = (1, 2, 3, 'abc', 10.3);

Slide The last index of an array can be found with this command -

$#myArray

Let us understand this using sample program.
Terminal

gedit arrayIndex.pl & >> Enter

Open the terminal and type

gedit arrayIndex dot pl space ampersand

and press Enter.


This will open arrayIndex dot pl file in geditor.

gedit


#!/usr/bin/perl


@myArray = (1, 2, 3, 'abc', 10.3);

print “Last index of myArray is:

$#myArray\n”;


Type the piece of code that is displayed on screen

<<pause>>



@myArray = (1, 2, 3, 'abc', 10.3);


$#myArray

Here we have declared & defined an array which contains 5 elements.


As array index starts from zero, the last index value will be 4


i.e number of elements, which is 5, minus 1.

Press Ctrl+S to save the file.
Switch to terminal and execute the Perl script.


Type

perl arrayIndex.pl and press Enter.


Type -


perl arrayIndex dot pl


and press Enter.

Highlight the output on the terminal


Last index of myArray is: 4

The output will be as displayed on the terminal

Last index of myArray is: 4


Now, let us see how to get length of an array in Perl.
Slide There are many ways by which we can find the length of an array.
  1. Index of an array + 1; $#array + 1
  2. Using PERL inbuilt scalar function; scalar(@array)
  3. Assign array to a scalar variable; $arrayLength = @array


Terminal


gedit arrayLength.pl & >> Enter

Let us look at an illustration of array length using a sample program.


Switch to the terminal and type -

gedit arrayLength dot pl space ampersand


Press Enter.


Gedit


#!/usr/bin/perl


@myArray = (1, 2, 3, 'abc', 10.3);

$length = @myArray;


print "Length of an array using index: ", $#myArray + 1, "\n";


print "Length of an array using

scalar variable: $length\n";


print "Length of an array using

scalar function: ", scalar(@myArray), "\n";

Type the following piece of code, as shown on the screen-


Here we have declared & defined an array which contains 5 elements.


So, output will display 5.


Highlighted, are various ways to find the length of an array in Perl.


Highlight comma in print statement Please note -

We have concatenated the output in the print statement using comma.

Press Ctrl + S to save the file.
Terminal


Now let us execute the script.

Switch to terminal and type-


perl arrayLength dot pl and press Enter.

Length of an array using index: 5

Length of an array using scalar variable: 5

Length of an array using scalar function: 5

The output will be as displayed on the terminal.


Next, let us understand how to access individual elements in an array.
Slide Indexing is used to access elements of an array.
Slide


Let us look at an example for accessing elements of an array at -
  1. First Position
  2. Last Position
  3. Any position


Terminal Switch to the terminal and type -


gedit perlArray dot pl space ampersand

and press Enter.


Gedit


#!/usr/bin/perl


@myArray = (1, 2, 3, 'abc', 10.3);


# Access the first element of an array

print "First element of myArray is: ", $myArray[0], "\n";


# Access 3rd element of an array

print "3rd Element of myArray is: ", $myArray[2], "\n";


# Access last element of an array

print "Last element of myArray is: ", $myArray[$#myArray], "\n";


Type the following piece of code as shown.


Highlight


$myArray[0]


print "First element of myArray is: ", $myArray[0], "\n";


print "Last element of myArray is: ", $myArray[$#myArray], "\n";

Please note-
  1. myArray is declared with @ (at the rate) sign.
  2. But, to access an array element we need to use $ (dollar) sign.
  3. To access the element at any position, we need to pass index to an array

Here, to access the first element of myArray ,

zero is passed as index.


To access the last element of myArray , we have passed the last index to myArray.


Recall, we had learnt about this earlier.

Press ctrl + s Press Ctrl + S to save the file.
Switch to terminal


perl perlArray.pl

Then switch to the terminal and execute the Perl script as -


perl perlArray dot pl


and press Enter.

Terminal The output will be as shown on the terminal
Now, let us understand, how to loop over each element of an array.
Slide There are two ways of looping over an array-
  1. Using for loop
  2. Using foreach loop
Let's learn how to use these loops to iterate over an array using a sample program.
Terminal For this, switch to the terminal and type

gedit loopingOverArray dot pl space ampersand


Press Enter

Gedit


#!/usr/bin/perl


@myArray = (1, 2, 3);


# Iterate over an array using for loop

for ($i = 0; $i <= $#myArray; $i++) {

# Do the operation on individual element

print "Printing element using for loop: ", $myArray[$i], "\n";

}


# Used to separate the output on terminal

print "====================\n";


# Iterate over an array using foreach loop

foreach $element (@myArray) {

# Do the operation on individual element

print "Printing element using foreach loop: $element\n";

}

Type the piece of code as shown on the screen


Here, we are printing each element of the array by iterating the index.


The for loop will execute till the value of i variable reaches the last index of the array.


Here, foreach loop will be executed for each element of the array.


Once the array reaches its last element, it will exit the foreach loop.

Slide Please Note:
  • If you are not aware of for and foreach loops,
  • please go through the relevant tutorials
  • on the spoken tutorial website.
Press ctrl + s Press Ctrl + S to save the file.
Switch to terminal


perl loopingOverArray.pl

Then switch to the terminal and execute the Perl script as -


perl loopingOverArray dot pl


and press Enter.

Highlight the output on the terminal


Printing element using for loop: 1

Printing element using for loop: 2

Printing element using for loop: 3

====================

Printing element using foreach loop: 1

Printing element using foreach loop: 2

Printing element using foreach loop: 3

The output will be as displayed on the terminal.
Slide In Perl, we can declare a sequential array as-
  • @alphaArray = (a..d);
  • i.e alphaArray will contain elements 'a', 'b', 'c' and 'd'
  • Similarly, @numericArray = (1..5); is same as @numericArray = (1, 2, ,3, 4, 5);
Slide Perl also provides array slicing.


This is nothing but extracting part of an array and dumping it into a new array.


@array = (19, 23, 56, 45, 87, 89);

@newArray = @myarray[1, 4];


After slicing, newArray will look like this -

@newArray = (23, 87);

Slide: Summary Let us summarize.


In this tutorial, we have learnt to-

  • Find index of an array
  • Find length of an array
  • Access elements of an array
  • Loop over an array
  • Sequenial Array
  • Array Slicing

using sample programs.

Slide: Assignment Here is assignment for you -
  1. Declare an array of rainbow colors
  2. Print 4th element of this array
  3. Print Length and last index of this array
  4. Loop over each element of the array using for & foreach loops
  5. Declare array as @myArray = (1..9); and then create an array of odd numbers from above array using array slicing.


About the Project Watch the video available at the following link


It summaries the Spoken Tutorial project


If you do not have good bandwidth, you can

download and watch it

Spoken Tutorial Workshops The Spoken Tutorial Project Team


Conducts workshops using spoken tutorials


Gives certificates to those who pass an online

test


For more details, please write to

contact at spoken hyphen tutorial dot org

Acknowledgment


http://spoken-tutorial.org\NMEICT-Intro

Spoken Tutorial Project is a part of the Talk to a

Teacher project


It is supported by the National Mission on

Education through ICT, MHRD, Government of India.


More information on this Mission is available

spoken hypen tutorial dot org slash NMEICT hyphen Intro

Hope you enjoyed this Perl tutorial.

This is Amol Brahmankar signing off.


Thanks for joining

Contributors and Content Editors

AmolBrahmankar, Nancyvarkey