Difference between revisions of "PERL/C3/Referencing-and-Dereferencing/English-timed"

From Script | Spoken-Tutorial
Jump to: navigation, search
 
(5 intermediate revisions by one other user not shown)
Line 11: Line 11:
 
| 00:07
 
| 00:07
 
|  In this tutorial, we will learn about:
 
|  In this tutorial, we will learn about:
* '''Scalar References'''
+
'''Scalar References'''
* '''Array References'''
+
'''Array References'''
* '''Hash References'''  
+
'''Hash References'''  
* '''Dereferences''' and
+
'''Dereferences''' and
* How to add, remove, access '''elements''' of '''array/hash references'''.
+
How to add, remove, access '''elements''' of '''array/hash references'''.
  
 
|-
 
|-
 
|  00:22
 
|  00:22
 
|  For this tutorial, I am using:
 
|  For this tutorial, I am using:
* '''Ubuntu Linux 12.04''' operating system
+
'''Ubuntu Linux 12.04''' operating system
* '''Perl 5.14.2'''
+
'''Perl 5.14.2'''
* '''gedit Text Editor'''
+
'''gedit Text Editor'''
  
 
|-
 
|-
 
|  00:33
 
|  00:33
|You can use any text editor of your choice.
+
|You can use any text-editor of your choice.
  
 
|-
 
|-
 
|  00:37
 
|  00:37
 
|  You should have working knowledge of:
 
|  You should have working knowledge of:
* '''Perl''' programming
+
'''Perl''' programming
* '''Array functions''' and
+
'''Array functions''' and
* '''Hash functions'''.
+
'''Hash functions'''.
  
 
|-
 
|-
Line 41: Line 41:
 
|-
 
|-
 
|  00:49
 
|  00:49
|  What is''' Reference'''?
+
|  What is a''' Reference'''?
  
 
|-
 
|-
Line 157: Line 157:
 
|-
 
|-
 
|  03:23
 
|  03:23
|Here '''ref()''' function will return the''' reference''' type such as '''scalar''' or '''array''' or '''hash'''.
+
|Here, '''ref()''' function will return the''' reference''' type such as '''scalar''' or '''array''' or '''hash'''.
  
 
|-
 
|-
Line 302: Line 302:
 
|-
 
|-
 
|  06:39
 
|  06:39
|  I already have a sample program. Let me open it in''' gedit''' Text editor.
+
|  I already have a sample program. Let me open it in''' gedit''' text-editor.
  
 
|-
 
|-
Line 310: Line 310:
 
|-
 
|-
 
|  06:54
 
|  06:54
|  'arrayRefadd.pl' file is now open in''' gedit.''' Type the code as shown here in your file.
+
|  'arrayRefadd.pl' file is now open in''' gedit.''' Type the code as shown here, in your file.
  
 
|-
 
|-
Line 334: Line 334:
 
|-
 
|-
 
|  07:32
 
|  07:32
| '''Push()''' function adds '''elements''' at the last position of an''' array reference.'''
+
| '''push()''' function adds '''elements''' at the last position of an''' array reference.'''
In our case 5, 6, 7 are added to the end of the existing array 1, 2, 3, 4.
+
In our case, 5, 6, 7 are added to the end of the existing array 1, 2, 3, 4.
  
 
|-
 
|-
Line 343: Line 343:
 
|-
 
|-
 
|  07:53
 
|  07:53
| '''Pop()''' function removes an '''element''' from the last position of an''' array reference'''.
+
| '''pop()''' function removes an '''element''' from the last position of an''' array reference'''.
  
 
|-
 
|-
Line 375: Line 375:
 
|-
 
|-
 
|  08:34
 
|  08:34
In the '''terminal''', type: '''gedit hashRefadd dot pl ampersand'''  and press '''Enter'''.
+
On the '''terminal''', type: '''gedit hashRefadd dot pl ampersand'''  and press '''Enter'''.
  
 
|-
 
|-
Line 436: Line 436:
 
|09:57
 
|09:57
 
| In this tutorial, we learnt about:
 
| In this tutorial, we learnt about:
* '''Scalar References'''
+
'''Scalar References'''
* '''Array References'''
+
'''Array References'''
* '''Hash References'''  
+
'''Hash References'''  
* '''Dereferences''' and
+
'''Dereferences''' and
* How to add, remove, access '''elements''' of '''array/hash references''' with examples.
+
How to add, remove, access '''elements''' of '''array/hash references''' with examples.
  
 
|-
 
|-
Line 460: Line 460:
 
|-
 
|-
 
|  10:35
 
|  10:35
| The video at the following link summarizes the '''Spoken Tutorial''' project.
+
| The video at the following link summarizes the '''Spoken Tutorial''' project.Please download and watch it.
Please download and watch it.
+
  
 
|-
 
|-
 
| 10:42
 
| 10:42
| We conduct workshops and give certificates for those who pass our online tests.
+
| We conduct workshops and give certificates for those who pass our online tests. For more details, please write to us.
For more details, please write to us.
+
  
 
|-
 
|-
Line 475: Line 473:
 
|-
 
|-
 
|  11:02
 
|  11:02
|  This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching.
+
|  This is Nirmala Venkat from '''IIT Bombay''', signing off. Thanks for watching.
  
 
|}
 
|}

Latest revision as of 18:13, 20 February 2017

Time
Narration
00:01 Welcome to the Spoken Tutorial on Referencing and Dereferencing in Perl.
00:07 In this tutorial, we will learn about:

Scalar References Array References Hash References Dereferences and How to add, remove, access elements of array/hash references.

00:22 For this tutorial, I am using:

Ubuntu Linux 12.04 operating system Perl 5.14.2 gedit Text Editor

00:33 You can use any text-editor of your choice.
00:37 You should have working knowledge of:

Perl programming Array functions and Hash functions.

00:43 If not, then go through the relevant Perl tutorials on this website.
00:49 What is a Reference?
00:51 A reference is a pointer or an address to a variable, array, hash or a subroutine.
00:58 It does not contain data directly.
01:01 Reference is an easy, compact scalar value.
01:05 Reference will improve the performance of Perl code when you pass or return large data-structures.
01:12 It saves memory as it passes a reference to a subroutine rather than passing a value.
01:18 Easy to manage complicated Perl data structures.
01:22 Let us learn how to create a reference.
01:25 We can create a reference for any variable, subroutine or value, by putting a backslash (\) in front of it.
01:33 A scalar variable is referenced by backslash and dollar sign ($) as shown here.
01:39 An array variable is referenced by backslash and at the rate(@) symbol.
01:45 A hash variable is referenced by backslash and percentage(%) symbol as shown in the example here.
01:53 what is dereference?
01:55 When a reference is dereferenced, the actual value is returned.
02:00 Dereference is done by enclosing the reference variable within curly brackets
02:06 and preceding the left curly bracket with a character denoting the type of reference it is.
02:12 Let us see how to dereference variables.
02:16 A scalar variable is dereferenced by dollar sign ($) and curly brackets.
02:21 An array variable is dereferenced by at the rate (@) symbol and curly brackets.
02:27 A hash variable is dereferenced by percentage(%) symbol and curly brackets.
02:33 Let us see a simple program for Scalar reference and dereference.
02:38 Let me open a sample program in 'gedit' Text editor.
02:43 Open the terminal and type: gedit scalarRef dot pl ampersand and press Enter.
02:50 Type the following code as displayed on the screen.
02:55 Let me explain the code.
02:57 First line declares a scalar variable '$a' and initialized to 10.
03:03 As mentioned earlier, a scalar variable is referenced by backslash and dollar sign ($).
03:10 This line will print memory address of the variable that is created as reference.
03:16 To print the actual value, the variable is dereferenced by curly brackets preceded by '$'.
03:23 Here, ref() function will return the reference type such as scalar or array or hash.
03:30 Now, press Ctrl+S to save the file.
03:34 Let us execute the program.
03:36 Switch to the terminal and type: perl scalarRef dot pl and press Enter.
03:43 The output is displayed as shown.
03:46 First line shows the memory address where the value 10 is stored.
03:51 The second line returns the actual value 10.
03:55 Ref() function returns "SCALAR" as output.
03:59 Next, let us understand how to create a reference and dereference array by using a sample program.
04:07 I already have a sample program. Let me open it in 'gedit' Text editor.
04:13 In the terminal, type: gedit arrayRef dot pl ampersand and press Enter.
04:20 Type the following code as displayed on the screen, in the arrayRef dot pl file.
04:26 Let me explain the code now.
04:28 Here, in the first line, I have declared an array @color and initialized it with three values.
04:35 It is referenced with backslash @color which is the array name and assigned to $colorRef.
04:42 The print statement will print the reference value and the dereferenced value.
04:47 Now, press Ctrl+S to save the file.
04:51 Let us execute the program.
04:53 Switch back to the terminal and type: perl arrayRef dot pl and press Enter.
05:00 The output is displayed as shown here.
05:04 The first line shows the output of the memory address of the variable that is created as reference.
05:10 The second line shows the actual value that is dereferenced.
05:16 Next, we will see how to declare direct reference for an array.
05:21 Let’s come back to our program.
05:24 I have changed the existing program to show the direct reference for an array.
05:29 You can create a direct reference for an array by using square brackets [] as shown.
05:35 Use arrow operator (->) to dereference.
05:39 print statement will print "Green" as output.
05:43 Here, the print statement takes the value of index[1]. i.e 'Green' in our program.
05:50 Press Ctrl+S to save the file.
05:54 Switch back to the terminal and type: perl arrayRef dot pl and press Enter to execute.
06:03 I’ll show an example on how to use the direct hash reference in the same code file.

So, let’s switch to gedit.

06:11 You can create a direct reference to hash by using curly brackets {} as shown here.
06:18 Use arrow operator (->) to dereference it. “Name” is the hash key.
06:24 On executing this block of code, both the print statements will print "Sunil" as output.
06:31 Next we will see how to add, remove, access elements to array reference with a sample program.
06:39 I already have a sample program. Let me open it in gedit text-editor.
06:45 Open the terminal and type: gedit arrayRefadd dot pl ampersand and press Enter.
06:54 'arrayRefadd.pl' file is now open in gedit. Type the code as shown here, in your file.
07:02 The first line initializes an array.
07:06 We have referenced an array with backslash @numarray and assigned to $ref.
07:13 Now, we will see how to access a particular element from the array reference.
07:19 We need to use the array index in square brackets “[ ]” to access the particular value and an arrow operator (“->”) to dereference it.
07:28 The print statement will print the value of index [0].
07:32 push() function adds elements at the last position of an array reference.

In our case, 5, 6, 7 are added to the end of the existing array 1, 2, 3, 4.

07:47 This print statement shows the output, after adding to the array reference.
07:53 pop() function removes an element from the last position of an array reference.
07:58 In our example, 7 will be removed from the existing array reference.
08:03 print statement shows the output after deleting from the array reference.
08:08 Now, press Ctrl+S to save the file.
08:11 Let us execute the program.
08:14 Switch back to the terminal and type: perl arrayRefadd dot pl and press Enter.
08:22 The output is displayed as shown here.
08:26 Now, let us see another sample program to add, remove, and access elements of hash reference.
08:34 On the terminal, type: gedit hashRefadd dot pl ampersand and press Enter.
08:42 This will open the file 'hashRefadd.pl' in gedit.
08:47 Let me explain the sample program.
08:50 I have declared a direct hash reference that can be stored in a scalar variable $weektemp.
08:57 I have used curly brackets to represent the hash reference and the arrow operator to dereference.
09:04 This code stores the temperature values from Monday to Friday.
09:09 I am using the “keys” built-in function to loop through the keys of the hash.
09:15 print statement will print each element of the hash.
09:19 We can access the particular value of an element as shown here.
09:25 print statement will print the temperature on Monday.
09:29 Now, save the file.
09:32 Switch to terminal and type: perl hashRefadd dot pl and press Enter to see the output.
09:41 The hash keys and hash values are stored in a random order.
09:46 The displayed output is not related to the order in which they were added.
09:52 With this, we come to the end of this tutorial. Let us summarize.
09:57 In this tutorial, we learnt about:

Scalar References Array References Hash References Dereferences and How to add, remove, access elements of array/hash references with examples.

10:14 Here is an assignment for you. Add new keys “Saturday” and “Sunday” in hash weektemp, in our hashRefadd dot pl file.
10:24 Delete key “Saturday” at the end.
10:27 Print hash weektemp.
10:30 Save and execute the program. Now check the result.
10:35 The video at the following link summarizes the Spoken Tutorial project.Please download and watch it.
10:42 We conduct workshops and give certificates for those who pass our online tests. For more details, please write to us.
10:51 Spoken Tutorial project is funded by NMEICT, MHRD, Government of India.

More information on this mission is available at this link.

11:02 This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching.

Contributors and Content Editors

PoojaMoolya, Sandhya.np14