Difference between revisions of "PERL/C2/Hash-in-Perl/English-timed"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 18: Line 18:
 
|00.11
 
|00.11
 
| Accessing element of a '''hash'''  
 
| Accessing element of a '''hash'''  
+
 
+
 
|-
 
|-
 
|00.14
 
|00.14
Line 59: Line 58:
 
|00.56
 
|00.56
 
|It's a ''' key/value pair data structure '''
 
|It's a ''' key/value pair data structure '''
 
  
 
|-
 
|-
Line 100: Line 98:
 
|01.42
 
|01.42
 
| ''' Hash''' in ''' Perl''' is declared with '''percentage''' sign.  
 
| ''' Hash''' in ''' Perl''' is declared with '''percentage''' sign.  
 
  
 
|-
 
|-
Line 109: Line 106:
 
|01.49
 
|01.49
 
|And these are the values of '''hash.'''   
 
|And these are the values of '''hash.'''   
+
 
+
 
|-
 
|-
 
|01.53
 
|01.53
Line 147: Line 143:
 
|adding key is ''' dollar hashName open curly bracket '''
 
|adding key is ''' dollar hashName open curly bracket '''
  
 
 
|-
 
|-
 
|02.30
 
|02.30
 
|''' single quote KeyName single quote'''  
 
|''' single quote KeyName single quote'''  
 
  
 
|-
 
|-
 
|02.34
 
|02.34
 
|''' close curly bracket equal to value semicolon'''  
 
|''' close curly bracket equal to value semicolon'''  
 
 
   
 
   
 
|-
 
|-
Line 165: Line 158:
 
|02.46
 
|02.46
 
|'''single quote KeyName single quote close curly bracket semicolon'''  
 
|'''single quote KeyName single quote close curly bracket semicolon'''  
 
 
   
 
   
 
|-
 
|-
Line 175: Line 167:
 
| I have already typed the code in ''' hashKeyOperations dot pl''' file.  
 
| I have already typed the code in ''' hashKeyOperations dot pl''' file.  
 
   
 
   
 
 
|-
 
|-
 
| 03.05
 
| 03.05
Line 192: Line 183:
 
|It is like assigning a value to a variable.  
 
|It is like assigning a value to a variable.  
  
 
 
 
|-
 
|-
 
|03.23
 
|03.23
Line 201: Line 190:
 
|03.27
 
|03.27
 
|We need to pass the '''key''' to delete it.  
 
|We need to pass the '''key''' to delete it.  
 
 
   
 
   
 
|-
 
|-
 
|  03.31
 
|  03.31
 
| Press ''' Ctrl+S''' to save the file.  
 
| Press ''' Ctrl+S''' to save the file.  
 
 
   
 
   
 
|-
 
|-
 
|03.35
 
|03.35
 
|Switch to the terminal and execute the ''' Perl script''' as  
 
|Switch to the terminal and execute the ''' Perl script''' as  
 
 
   
 
   
 
|-
 
|-
Line 220: Line 206:
 
|  03.44
 
|  03.44
 
|  and press ''' Enter.'''
 
|  and press ''' Enter.'''
 
 
   
 
   
 
|-
 
|-
Line 233: Line 218:
 
| 03.57
 
| 03.57
 
| Syntax to ''' sort keys''' is  
 
| Syntax to ''' sort keys''' is  
 
  
 
|-
 
|-
 
|04.00
 
|04.00
 
|''' sort open bracket keys percentage hashName close bracket semicolon '''
 
|''' sort open bracket keys percentage hashName close bracket semicolon '''
 
 
   
 
   
 
|-
 
|-
 
|04.07
 
|04.07
 
|Similarly, we can '''sort hash values''' as  
 
|Similarly, we can '''sort hash values''' as  
 
  
 
|-
 
|-
 
|04.11
 
|04.11
 
|''' sort open bracket values percentage hashName close bracket semicolon'''  
 
|''' sort open bracket values percentage hashName close bracket semicolon'''  
 
 
 
   
 
   
 
|-
 
|-
Line 279: Line 259:
 
|Similarly, we can use the '''sort''' function on '''values''' of '''hash.'''  
 
|Similarly, we can use the '''sort''' function on '''values''' of '''hash.'''  
  
 
 
|-
 
|-
 
|04.59
 
|04.59
Line 292: Line 271:
 
|Execute the script by typing ''' perl sortHash dot pl''' and Press ''' Enter '''
 
|Execute the script by typing ''' perl sortHash dot pl''' and Press ''' Enter '''
  
 
 
 
|-
 
|-
 
|05.17
 
|05.17
 
|The output will be as shown on the terminal.
 
|The output will be as shown on the terminal.
 
 
   
 
   
 
|-
 
|-
Line 310: Line 286:
 
|  05.34
 
|  05.34
 
|''' keys function''' is used to retrive all the ''' keys''' of ''' hash '''
 
|''' keys function''' is used to retrive all the ''' keys''' of ''' hash '''
 
 
   
 
   
 
|-
 
|-
 
|05.40
 
|05.40
 
| ''' values''' function returns ''' values''' of all the ''' keys''' whereas  
 
| ''' values''' function returns ''' values''' of all the ''' keys''' whereas  
 
 
   
 
   
 
|-
 
|-
Line 332: Line 306:
 
|  06.07
 
|  06.07
 
| Type the following piece of code as shown on the screen;  
 
| Type the following piece of code as shown on the screen;  
 
  
 
|-
 
|-
Line 341: Line 314:
 
|06.15
 
|06.15
 
|''' keys''' function on ''' hash''', returns an '''array''' which contains all '''keys''' of '''hash.'''
 
|''' keys''' function on ''' hash''', returns an '''array''' which contains all '''keys''' of '''hash.'''
 
 
   
 
   
 
|-
 
|-
 
|  06.22
 
|  06.22
 
|  ''' values''' function on ''' hash''' returns an '''array''' of '''values''' for all '''keys''' of '''hash'''.
 
|  ''' values''' function on ''' hash''' returns an '''array''' of '''values''' for all '''keys''' of '''hash'''.
 
 
   
 
   
 
|-
 
|-
Line 356: Line 327:
 
|Here, we have used the ''' while loop.'''
 
|Here, we have used the ''' while loop.'''
  
|-
+
|-
 
| 06.36
 
| 06.36
 
|It will iterate over each ''' key/value''' pair of ''' hash,''' that is returned by '''each function'''.
 
|It will iterate over each ''' key/value''' pair of ''' hash,''' that is returned by '''each function'''.
Line 363: Line 334:
 
|06.43
 
|06.43
 
| Press ''' Ctrl+S''' to save the file.  
 
| Press ''' Ctrl+S''' to save the file.  
 
  
 
|-
 
|-
Line 384: Line 354:
 
|  07.05
 
|  07.05
 
|Now let us see few other ways of looping over ''' hash.'''
 
|Now let us see few other ways of looping over ''' hash.'''
 
 
   
 
   
 
|-
 
|-
Line 449: Line 418:
 
|08.33
 
|08.33
 
| The loop on ''' values''' works in a similar way.  
 
| The loop on ''' values''' works in a similar way.  
 
 
  
 
|-
 
|-
Line 459: Line 426:
 
|08.41
 
|08.41
 
|Then, switch to terminal and execute the ''' Perl script''' as  
 
|Then, switch to terminal and execute the ''' Perl script''' as  
 
  
 
|-
 
|-
 
|08.46
 
|08.46
 
|''' perl loopingOverHash dot pl'''  
 
|''' perl loopingOverHash dot pl'''  
 
  
 
|-
 
|-
Line 481: Line 446:
 
|08.59
 
|08.59
 
|In this tutorial, we learnt -  
 
|In this tutorial, we learnt -  
 
  
 
|-
 
|-
Line 518: Line 482:
 
|09.29
 
|09.29
 
|Watch the video available at the following link
 
|Watch the video available at the following link
 
 
   
 
   
 
|-
 
|-
 
|09.32
 
|09.32
 
|It summaries the Spoken Tutorial project
 
|It summaries the Spoken Tutorial project
 
 
   
 
   
 
|-
 
|-
Line 532: Line 494:
 
| 09.42
 
| 09.42
 
|  The Spoken Tutorial Project Team  Conducts workshops using spoken tutorials
 
|  The Spoken Tutorial Project Team  Conducts workshops using spoken tutorials
 
 
   
 
   
 
|-
 
|-
Line 545: Line 506:
 
| 10.02
 
| 10.02
 
|  Spoken Tutorial Project is a part of the Talk to a  Teacher project
 
|  Spoken Tutorial Project is a part of the Talk to a  Teacher project
 
 
   
 
   
 
|-
 
|-
 
|10.06
 
|10.06
 
|It is supported by the National Mission on Education through ICT, MHRD, Government of India.
 
|It is supported by the National Mission on Education through ICT, MHRD, Government of India.
 
 
   
 
   
 
|-
 
|-
Line 563: Line 522:
 
|10.30
 
|10.30
 
|This is Amol signing off.
 
|This is Amol signing off.
 
 
   
 
   
 
|-
 
|-

Revision as of 15:19, 2 June 2014

Visual Cue
Narration
00.01 Welcome to the spoken tutorial on Hash in Perl.
00.05 In this tutorial, we will learn about;
00.09 Hash in Perl and
00.11 Accessing element of a hash
00.14 For this tutorial, I am using
00.16 Ubuntu Linux12.04 operating system
00.21 Perl 5.14.2 and
00.24 gedit Text Editor
00.26 You can use any text editor of your choice.
00.30 To practise this tutorial, you should have knowledge of Variables & Data Structures in Perl.
00.38 Knowledge of comments, loops, conditional statements and Arrays will be an added advantage.
00.46 Please go through the relevant spoken tutorials on the spoken tutorial website.
00.52 Hash is an unordered collection of data
00.56 It's a key/value pair data structure
00.59 Hash keys are unique
01.01 However, Hash can have duplicate values
01.05 This is the declaration of a hash .
01.08 Let us see how to get the value of a key from hash.
01.12 The syntax for accessing the value of a key is
01.17 dollar hashName open curly bracket single quote keyName single quote close curly bracket
01.26 Let us understand hash using a sample program.
01.31 I have already typed the code in perlHash dot pl file in gedit.
01.37 Type the code as shown in your perlHash dot pl file.
01.42 Hash in Perl is declared with percentage sign.
01.47 These are the keys of hash.
01.49 And these are the values of hash.
01.53 Note: To access key of hash, one has to use dollar sign.
01.59 Press Ctrl + S to save the file.
02.02 Then switch to terminal and execute the Perl script as
02.08 perl perlHash dot pl
02.11 and press Enter.
02.14 The output is as shown on the terminal.
02.19 Now let us see add and delete of keys from hash.
02.24 The syntax for .
02.26 adding key is dollar hashName open curly bracket
02.30 single quote KeyName single quote
02.34 close curly bracket equal to value semicolon
02.40 deleting key is delete dollar hashName open curly bracket
02.46 single quote KeyName single quote close curly bracket semicolon
02.53 Now, let us understand this using a sample program.
02.58 I have already typed the code in hashKeyOperations dot pl file.
03.05 This is the declaration of hash.
03.08 We'll be adding, deleting the keys from this hash.
03.13 Here we are adding a key to an already created hash.
03.18 It is like assigning a value to a variable.
03.23 delete keyword is used to delete the key.
03.27 We need to pass the key to delete it.
03.31 Press Ctrl+S to save the file.
03.35 Switch to the terminal and execute the Perl script as
03.40 perl hashKeyOperations dot pl
03.44 and press Enter.
03.47 Output will be as shown on the terminal.
03.52 Let us look at sorting of a hash keys and values.
03.57 Syntax to sort keys is
04.00 sort open bracket keys percentage hashName close bracket semicolon
04.07 Similarly, we can sort hash values as
04.11 sort open bracket values percentage hashName close bracket semicolon
04.18 Let us understand sorting functionality using a sample program.
04.24 Let me switch to sortHash dot pl on gedit.
04.30 Type the code as displayed on the screen in your sortHash dot pl file.
04.36 Here we have declared hash of address.
04.41 Here, to sort the keys we have used the sort inbuilt function, along with the keys function.
04.49 This will sort the hash keys in alphabetical order.
04.54 Similarly, we can use the sort function on values of hash.
04.59 Sorting can also be done on numeric keys and/or values.
05.05 Save the file and switch to terminal.
05.09 Execute the script by typing perl sortHash dot pl and Press Enter
05.17 The output will be as shown on the terminal.
05.22 Now, let us see how to get all keys and values of hash.
05.27 Perl provides inbuilt function to fetch all the hash keys and values.
05.34 keys function is used to retrive all the keys of hash
05.40 values function returns values of all the keys whereas
05.46 each function iterates over hash and returns key/value pair from hash
05.53 Let us understand these using a sample program.
05.57 For this, we'll use perlHash dot pl script, which we have created earlier in this tutorial.
06.07 Type the following piece of code as shown on the screen;
06.12 Let us understand the code now.
06.15 keys function on hash, returns an array which contains all keys of hash.
06.22 values function on hash returns an array of values for all keys of hash.
06.30 each function returns the key/value pair.
06.34 Here, we have used the while loop.
06.36 It will iterate over each key/value pair of hash, that is returned by each function.
06.43 Press Ctrl+S to save the file.
06.48 Now, let us execute the script on the terminal by typing
06.53 perl perlHash dot pl
06.58 And Press Enter
07.01 The following output will be seen on the terminal.
07.05 Now let us see few other ways of looping over hash.
07.10 We can use foreach loop to iterate over each key of hash.
07.15 Then perform a set of actions on the value of a key.
07.20 The syntax is as displayed on the screen.
07.24 Here, each iteration of foreach loop will assign key from hash to $variable.
07.32 Then it will use that $variable to fetch the value or to perform a set of actions.
07.40 Similarly, we can loop over hash values as shown on the screen.
07.47 We will look at sample program.
07.49 So, let me switch to loopingOverHash dot pl in gedit.
07.55 Type the following piece of code as shown in your loopingOverHash dot pl
08.02 This piece of code returns single key of hash.
08.07 Here in our case,
08.09 1st time dollar key ($key) contains the Department as key.
08.15 In the next iteration of foreach, Name key is returned.
08.21 Note: Hash is an unordered collection of data.
08.26 So, keys returned will not be in the sequence defined at the time of creating hash.
08.33 The loop on values works in a similar way.
08.38 Press Ctrl + S to save the file.
08.41 Then, switch to terminal and execute the Perl script as
08.46 perl loopingOverHash dot pl
08.50 and press Enter.
08.53 The following output is displayed on the terminal.
08.58 Let us summarize.
08.59 In this tutorial, we learnt -
09.01 Hash in Perl and
09.03 Accessing elements of a hash
09.05 using sample programs.
09.08 Here is assignment for you -
09.11 Declare hash having student name as key
09.15 And his/her percentage as the value.
09.18 Loop over hash using keys, values and each function
09.24 Then print the percentage of each student.
09.29 Watch the video available at the following link
09.32 It summaries the Spoken Tutorial project
09.37 If you do not have good bandwidth, you can download and watch it
09.42 The Spoken Tutorial Project Team Conducts workshops using spoken tutorials
09.49 Gives certificates to those who pass an online test
09.53 For more details, please write to contact at spoken hyphen tutorial dot org
10.02 Spoken Tutorial Project is a part of the Talk to a Teacher project
10.06 It is supported by the National Mission on Education through ICT, MHRD, Government of India.
10.15 More information on this Mission is available at spoken hyphen tutorial dot org slash NMEICT hyphen Intro
10.26 Hope you enjoyed this Perl tutorial.
10.30 This is Amol signing off.
10.33 Thanks for joining.

Contributors and Content Editors

Gaurav, Nancyvarkey, PoojaMoolya, Sandhya.np14