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

From Script | Spoken-Tutorial
Jump to: navigation, search
(Created page with " {| Border = 1 | <center>''' Time '''</center> | <center>'''Narration'''</center> |- | 00:01 | Welcome to the''' Spoken Tutorial''' on''' Referencing and Dereferencing in...")
 
 
(8 intermediate revisions by 2 users not shown)
Line 10: Line 10:
 
|-
 
|-
 
| 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''' References'''?
+
|  What is a''' Reference'''?
  
 
|-
 
|-
 
|  00:51
 
|  00:51
|A''' reference''' is a '''pointer''' or an '''address''' to '''a variable, array, hash''' or a '''subroutine'''.
+
|A''' reference''' is a '''pointer''' or an '''address''' to a '''variable, array, hash''' or a '''subroutine'''.
  
 
|-
 
|-
Line 57: Line 57:
 
|-
 
|-
 
| 01:05
 
| 01:05
|  '''Reference''' will improve the performance of '''Perl''' code when you pass or return large data structures.
+
|  '''Reference''' will improve the performance of '''Perl''' code when you pass or return large data-structures.
  
 
|-
 
|-
Line 73: Line 73:
 
|-
 
|-
 
| 01:25
 
| 01:25
|  We can create a''' reference''' for any '''variable, subroutine''' or value, by putting a '''backslash (\)''' in front of it.
+
|  We can create a''' reference''' for any '''variable, subroutine''' or '''value''', by putting a '''backslash (\)''' in front of it.
  
 
|-
 
|-
 
|  01:33
 
|  01:33
|A''' scalar variable''' is''' referenced''' by '''backslash''' and '''dollar sign''' ($) as shown here.
+
|A''' scalar variable''' is''' reference'''d by backslash and dollar sign ($) as shown here.
  
 
|-
 
|-
 
|  01:39
 
|  01:39
|An''' array variable''' is''' referenced''' by '''backslash''' and '''at the rate(@)''' symbol.
+
|An''' array variable''' is''' reference'''d by backslash and '''at the rate(@)''' symbol.
  
 
|-
 
|-
 
|  01:45
 
|  01:45
|A''' hash variable''' is''' referenced''' by '''backslash''' and '''percentage(%)''' symbol as shown in the example here.
+
|A''' hash variable''' is''' reference'''d by backslash and '''percentage(%)''' symbol as shown in the example here.
  
 
|-
 
|-
 
|  01:53
 
|  01:53
| what is '''dereference'''?
+
| what is '''dereference'''?
  
 
|-
 
|-
 
|  01:55
 
|  01:55
|When a '''reference''' is''' dereferenced''', the actual value is returned.
+
|When a '''reference''' is''' dereference'''d, the actual value is returned.
  
 
|-
 
|-
 
|  02:00
 
|  02:00
|'''Dereference''' is done by enclosing the''' reference''' variable within curly brackets.
+
|'''Dereference''' is done by enclosing the''' reference''' variable within curly brackets
  
 
|-
 
|-
 
|  02:06
 
|  02:06
|And preceding the left curly bracket with a character denoting the type of''' reference''' it is.
+
|and preceding the left curly bracket with a character denoting the type of''' reference''' it is.
  
 
|-
 
|-
Line 109: Line 109:
 
|-
 
|-
 
|  02:16
 
|  02:16
| A''' scalar variable''' is dereferenced by '''dollar sign ($)''' and curly brackets.
+
| A''' scalar''' variable is dereferenced by dollar sign ($) and curly brackets.
  
 
|-
 
|-
 
|  02:21
 
|  02:21
|An''' array variable''' is dereferenced by '''at the rate (@)''' symbol and curly brackets.
+
|An''' array''' variable is dereferenced by '''at the rate (@)''' symbol and curly brackets.
  
 
|-
 
|-
Line 125: Line 125:
 
|-
 
|-
 
|  02:38
 
|  02:38
|  Let me open a sample program in''' gedit Text editor.'''
+
|  Let me open a sample program in ''''gedit' Text editor.'''
  
 
|-
 
|-
 
| 02:43
 
| 02:43
|  Open the '''terminal''' and type''' gedit scalarRef dot pl ampersand''' and press '''Enter'''.
+
|  Open the '''terminal''' and type: '''gedit scalarRef dot pl ampersand''' and press '''Enter'''.
  
 
|-
 
|-
 
| 02:50
 
| 02:50
|  Type the following code as displayed on the screen
+
|  Type the following code as displayed on the screen.
  
 
|-
 
|-
Line 145: Line 145:
 
|-
 
|-
 
|  03:03
 
|  03:03
|As mentioned earlier, a '''scalar variable''' is''' referenced''' by '''backslash''' and '''dollar sign ($)'''
+
|As mentioned earlier, a scalar variable is''' reference'''d by backslash and dollar sign ($).
  
 
|-
 
|-
 
|  03:10
 
|  03:10
|This line will print '''memory address''' of the '''variable''' that is created as''' reference'''.
+
|This line will print '''memory address''' of the variable that is created as''' reference'''.
  
 
|-
 
|-
 
|  03:16
 
|  03:16
|To print the actual value, the '''variable''' is''' dereferenced''' by curly brackets preceded by '''$'''.
+
|To print the actual value, the '''variable''' is''' dereference'''d by curly brackets preceded by '$'.
  
 
|-
 
|-
 
|  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 169: Line 169:
 
|-
 
|-
 
|  03:36
 
|  03:36
|  Switch to the '''terminal''' and type '''perl scalarRef dot pl''' and press''' Enter'''.
+
|  Switch to the '''terminal''' and type: '''perl scalarRef dot pl''' and press''' Enter'''.
  
 
|-
 
|-
Line 177: Line 177:
 
|-
 
|-
 
|  03:46
 
|  03:46
|First line shows the memory address where the value 10 is stored.
+
|First line shows the '''memory address''' where the value 10 is stored.
  
 
|-
 
|-
Line 185: Line 185:
 
|-
 
|-
 
|  03:55
 
|  03:55
|'''Ref() function '''returns ''''Scalar'''' as output.
+
|'''Ref()''' function returns "SCALAR" as output.
  
 
|-
 
|-
Line 193: Line 193:
 
|-
 
|-
 
|  04:07
 
|  04:07
|  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.
  
 
|-
 
|-
 
| 04:13
 
| 04:13
|  In the '''terminal''', type''' gedit arrayRef dot pl ampersand''' and press '''Enter'''.
+
|  In the '''terminal''', type: '''gedit arrayRef dot pl ampersand''' and press '''Enter'''.
  
 
|-
 
|-
 
| 04:20
 
| 04:20
|  Type the following code as displayed on the screen in the '''arrayRef dot pl''' file.
+
|  Type the following code as displayed on the screen, in the '''arrayRef dot pl''' file.
  
 
|-
 
|-
Line 209: Line 209:
 
|-
 
|-
 
|  04:28
 
|  04:28
|Here, in the first line, I have declared an '''array @color''' and initialised it with three values.
+
|Here, in the first line, I have declared an array '''@color''' and initialized it with three values.
  
 
|-
 
|-
 
|  04:35
 
|  04:35
|It is''' referenced''' with '''backslash @color''' which is the '''array name''' and assigned to''' $colorRef.'''
+
|It is '''reference'''d with '''backslash @color''' which is the array name and assigned to''' $colorRef.'''
  
 
|-
 
|-
 
|  04:42
 
|  04:42
|The '''print''' statement will print the''' reference''' value and the''' dereferenced''' value.
+
|The '''print''' statement will print the''' reference''' value and the''' dereference'''d value.
  
 
|-
 
|-
Line 229: Line 229:
 
|-
 
|-
 
| 04:53
 
| 04:53
|  Switch back to the '''terminal''' and type '''perl arrayRef dot pl''' and press''' Enter'''.
+
|  Switch back to the '''terminal''' and type: '''perl arrayRef dot pl''' and press''' Enter'''.
  
 
|-
 
|-
 
| 05:00
 
| 05:00
|  The output is displayed as shown here
+
|  The output is displayed as shown here.
  
 
|-
 
|-
Line 241: Line 241:
 
|-
 
|-
 
|  05:10
 
|  05:10
|The second line shows the actual value that is''' dereferenced'''.
+
|The second line shows the actual value that is''' dereference'''d.
  
 
|-
 
|-
Line 253: Line 253:
 
|-
 
|-
 
|  05:24
 
|  05:24
|I have changed the existing program to show the '''direct reference''' for an '''array'''.
+
|I have changed the existing program to show the '''direct reference''' for an array.
  
 
|-
 
|-
 
|  05:29
 
|  05:29
|  You can create a '''direct reference''' for an''' array''' by using square brackets<nowiki> [] </nowiki>as shown.
+
|  You can create a '''direct reference''' for an array by using square brackets<nowiki> [] </nowiki>as shown.
  
 
|-
 
|-
Line 265: Line 265:
 
|-
 
|-
 
|  05:39
 
|  05:39
|'''print''' statement will print ''''Green'''' as output.
+
|'''print''' statement will print "Green" as output.
  
 
|-
 
|-
 
|  05:43
 
|  05:43
|Here the '''print''' statement takes the value of index<nowiki>[1]. </nowiki>i.e '''Green''' in our program.
+
|Here, the '''print''' statement takes the value of index<nowiki>[1]. </nowiki> i.e 'Green' in our program.
  
 
|-
 
|-
Line 277: Line 277:
 
|-
 
|-
 
|  05:54
 
|  05:54
|  Switch back to the '''terminal''' and type '''perl arrayRef dot pl''' and press''' Enter''' to execute.
+
|  Switch back to the '''terminal''' and type: '''perl arrayRef dot pl''' and press''' Enter''' to execute.
  
 
|-
 
|-
 
|  06:03
 
|  06:03
|  I’ll show an example on how to use the direct hash reference in the same code file.
+
|  I’ll show an example on how to use the '''direct hash reference''' in the same code file.
 
So, let’s switch to '''gedit'''.
 
So, let’s switch to '''gedit'''.
  
Line 290: Line 290:
 
|-
 
|-
 
|  06:18
 
|  06:18
| Use '''arrow operator (->)''' to dereference it. '''“Name”''' is the '''hash key'''.
+
| Use '''arrow operator (->)''' to dereference it. “Name” is the '''hash key'''.
  
 
|-
 
|-
 
|  06:24
 
|  06:24
| On executing this block of code, both the '''print''' statements will print ''''Sunil'''' as output.
+
| On executing this block of code, both the '''print''' statements will print "Sunil" as output.
  
 
|-
 
|-
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.
  
 
|-
 
|-
 
|  06:45
 
|  06:45
|  Open the''' terminal''' and type''' gedit arrayRefadd dot pl ampersand '''and press''' Enter'''
+
|  Open the''' terminal''' and type:''' gedit arrayRefadd dot pl ampersand '''and press''' Enter'''.
  
 
|-
 
|-
 
|  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 318: Line 318:
 
|-
 
|-
 
|  07:06
 
|  07:06
| We have '''referenced''' an '''array''' with '''backslash @numarray''' and assigned to''' $ref.'''
+
| We have '''reference'''d an array with '''backslash @numarray''' and assigned to''' $ref.'''
  
 
|-
 
|-
Line 326: Line 326:
 
|-
 
|-
 
|  07:19
 
|  07:19
| We need to use the '''array index''' in square brackets<nowiki> “[ ]” </nowiki>to access the particular value. And an '''arrow operator (“->”)''' to''' dereference''' it.
+
| We need to use the '''array index''' in square brackets<nowiki> “[ ]” </nowiki> to access the particular value and an '''arrow operator (“->”)''' to''' dereference''' it.
  
 
|-
 
|-
 
|  07:28
 
|  07:28
| The '''print''' statement will print the value of index<nowiki>[0]</nowiki>
+
| The '''print''' statement will print the value of index <nowiki>[0]</nowiki>.
  
 
|-
 
|-
 
|  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 is added to at 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.
  
 
|-
 
|-
 
|  07:47
 
|  07:47
| This '''print''' statement shows the output after adding to the''' array reference.'''
+
| This '''print''' statement shows the output, after adding to the''' array reference.'''
  
 
|-
 
|-
 
|  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 363: Line 363:
 
|-
 
|-
 
|  08:14
 
|  08:14
|  Switch back to the '''terminal''' and type '''perl arrayRefadd dot pl''' and press''' Enter'''.
+
|  Switch back to the '''terminal''' and type: '''perl arrayRefadd dot pl''' and press''' Enter'''.
  
 
|-
 
|-
 
| 08:22
 
| 08:22
|  The output is displayed as shown here
+
|  The output is displayed as shown here.
  
 
|-
 
|-
 
|  08:26
 
|  08:26
|  Now let us see another sample program to add, remove, and access '''elements''' of''' hash reference.'''
+
|  Now, let us see another sample program to add, remove, and access '''elements''' of''' hash reference.'''
  
 
|-
 
|-
 
|  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'''.
  
 
|-
 
|-
 
|  08:42
 
|  08:42
|  This will open the file''' hashRefadd.pl''' in''' gedit'''.
+
|  This will open the file 'hashRefadd.pl' in''' gedit'''.
  
 
|-
 
|-
Line 399: Line 399:
 
|-
 
|-
 
|  09:09
 
|  09:09
| I am using the '''“keys” built-in function''' to loop through the '''keys''' of the '''hash'''.
+
| I am using the '''“keys” built-in function''' to loop through the keys of the hash.
  
 
|-
 
|-
 
|  09:15
 
|  09:15
| '''print''' statement will print each element of the '''hash'''.
+
| '''print''' statement will print each element of the hash.
 
+
  
 
|-
 
|-
Line 420: Line 419:
 
|-
 
|-
 
| 09:32
 
| 09:32
|  Switch to '''terminal''' and type '''perl hashRefadd dot pl''' and press''' Enter '''to see the output.
+
|  Switch to '''terminal''' and type: '''perl hashRefadd dot pl''' and press''' Enter '''to see the output.
  
 
|-
 
|-
Line 437: 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.
+
  
 
|-
 
|-
 
|  10:14
 
|  10:14
| Here is an assignment for you.
+
| Here is an assignment for you. Add new keys “Saturday” and “Sunday” in hash '''weektemp''', in our''' hashRefadd dot pl file.'''
Add new keys “'''Saturday'''” and “'''Sunday'''” in hash '''weektemp''' in our''' hashRefadd dot pl file.'''
+
  
 
|-
 
|-
 
| 10:24
 
| 10:24
| Delete key “'''Saturday'''” at the end.
+
| Delete key “Saturday” at the end.
  
 
|-
 
|-
Line 459: Line 456:
 
|-
 
|-
 
|  10:30
 
|  10:30
| Save and execute the program. Now check the result.
+
| '''Save''' and '''execute''' the program. Now check the result.
  
 
|-
 
|-
 
|  10:35
 
|  10:35
| The video at the following link summarises 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 478: 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