Difference between revisions of "PERL/C2/Hash-in-Perl/English-timed"
From Script | Spoken-Tutorial
Sandhya.np14 (Talk | contribs) |
|||
Line 5: | Line 5: | ||
|- | |- | ||
| 00:01 | | 00:01 | ||
− | |Welcome to the spoken tutorial on ''' Hash''' in ''' | + | |Welcome to the spoken tutorial on ''' Hash''' in '''PERL'''. |
|- | |- | ||
| 00:05 | | 00:05 | ||
− | | In this tutorial, we will learn about | + | | In this tutorial, we will learn about: |
|- | |- | ||
|00:09 | |00:09 | ||
− | |'''Hash''' | + | |'''Hash''' in PERL and |
|- | |- | ||
|00:11 | |00:11 | ||
− | | | + | | accessing element of a '''hash'''. |
|- | |- | ||
|00:14 | |00:14 | ||
− | |For this tutorial, I am using | + | |For this tutorial, I am using: |
|- | |- | ||
| 00:16 | | 00:16 | ||
− | | ''' Ubuntu | + | |* '''Ubuntu Linux 12.04''' operating system |
|- | |- | ||
| 00:21 | | 00:21 | ||
− | |''' Perl 5.14.2''' and | + | |* '''Perl 5.14.2''' and |
|- | |- | ||
| 00:24 | | 00:24 | ||
− | | ''' gedit''' Text Editor | + | |* ''' gedit''' Text Editor. |
|- | |- | ||
Line 41: | Line 41: | ||
|- | |- | ||
|00:30 | |00:30 | ||
− | |To | + | |To practice this tutorial, you should have knowledge of variables & data Structures in PERL. |
|- | |- | ||
| 00:38 | | 00:38 | ||
− | | Knowledge of '''comments, loops, conditional statements''' and ''' | + | | Knowledge of '''comments, loops, conditional statements''' and '''arrays''' will be an added advantage. |
|- | |- | ||
|00:46 | |00:46 | ||
− | |Please go through the relevant spoken tutorials on the ''' | + | |Please go through the relevant spoken tutorials on the '''Spoken Tutorial''' website. |
|- | |- | ||
|00:52 | |00:52 | ||
− | |''' Hash''' is an unordered collection of data | + | |'''Hash''' is an unordered collection of data. |
|- | |- | ||
|00:56 | |00:56 | ||
− | |It's a ''' key/value | + | |It's a '''key/value''' pair data structure. |
|- | |- | ||
| 00:59 | | 00:59 | ||
− | | '''Hash | + | | '''Hash''' keys are unique. |
|- | |- | ||
|01:01 | |01:01 | ||
− | |However, ''' Hash''' can have duplicate values | + | |However, '''Hash''' can have duplicate values. |
|- | |- | ||
|01:05 | |01:05 | ||
− | | This is the declaration of a ''' hash''' . | + | | This is the declaration of a '''hash'''. |
|- | |- | ||
|01:08 | |01:08 | ||
− | |Let us see how to get the value of a ''' key''' from '''hash. ''' | + | |Let us see how to get the value of a ''' key''' from '''hash.''' |
|- | |- | ||
|01:12 | |01:12 | ||
− | |The syntax for accessing the value of a ''' key''' is | + | |The syntax for accessing the value of a ''' key''' is: |
|- | |- | ||
|01:17 | |01:17 | ||
− | |''' dollar hashName open curly bracket single quote keyName single quote close curly bracket''' | + | |'''dollar hashName open curly bracket single quote keyName single quote close curly bracket'''. |
|- | |- | ||
Line 89: | Line 89: | ||
|- | |- | ||
| 01:31 | | 01:31 | ||
− | |I have already typed the code in ''' perlHash dot pl''' file in '''gedit. ''' | + | |I have already typed the code in '''perlHash dot pl''' file in '''gedit.''' |
|- | |- | ||
Line 97: | Line 97: | ||
|- | |- | ||
|01:42 | |01:42 | ||
− | | ''' Hash''' in | + | | '''Hash''' in PERL is declared with '''percentage''' sign. |
|- | |- | ||
Line 109: | Line 109: | ||
|- | |- | ||
|01:53 | |01:53 | ||
− | |Note: To access ''' key''' of '''hash''', one has to use | + | |Note: To access '''key''' of '''hash''', one has to use dollar sign. |
|- | |- | ||
|01:59 | |01:59 | ||
− | |Press ''' Ctrl + S''' to save the file. | + | |Press '''Ctrl + S''' to '''save''' the file. |
|- | |- | ||
|02:02 | |02:02 | ||
− | |Then switch to | + | |Then switch to terminal and execute the '''Perl script''' as: |
|- | |- | ||
|02:08 | |02:08 | ||
− | |''' perl perlHash dot pl''' | + | |'''perl perlHash dot pl''' |
|- | |- | ||
Line 137: | Line 137: | ||
|- | |- | ||
|02:24 | |02:24 | ||
− | |The syntax for | + | |The syntax for: |
|- | |- | ||
|02:26 | |02:26 | ||
− | |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'''. |
|- | |- | ||
|02:40 | |02:40 | ||
− | |deleting key is ''' delete dollar hashName open curly bracket''' | + | |deleting key is '''delete dollar hashName open curly bracket''' |
|- | |- | ||
|02:46 | |02:46 | ||
− | |'''single quote KeyName single quote close curly bracket semicolon''' | + | |'''single quote KeyName single quote close curly bracket semicolon'''. |
|- | |- | ||
Line 185: | Line 185: | ||
|- | |- | ||
|03:23 | |03:23 | ||
− | |''' delete''' keyword is used to delete the ''' key.''' | + | |'''delete''' keyword is used to delete the '''key.''' |
|- | |- | ||
Line 193: | Line 193: | ||
|- | |- | ||
| 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 213: | Line 213: | ||
|- | |- | ||
| 03:52 | | 03:52 | ||
− | | Let us look at ''' sorting''' of a ''' hash keys''' and '''values.''' | + | | Let us look at '''sorting''' of a ''' hash keys''' and '''values.''' |
|- | |- | ||
| 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 ''' | + | |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'''. |
|- | |- | ||
|04:18 | |04:18 | ||
− | |Let us understand ''' sorting''' functionality using a sample program. | + | |Let us understand '''sorting''' functionality using a sample program. |
|- | |- | ||
Line 241: | Line 241: | ||
|- | |- | ||
| 04:30 | | 04:30 | ||
− | |Type the code as displayed on the screen in your ''' sortHash dot pl''' file. | + | |Type the code as displayed on the screen in your '''sortHash dot pl''' file. |
|- | |- | ||
| 04:36 | | 04:36 | ||
− | | Here we have declared ''' hash''' of '''address. ''' | + | | Here we have declared '''hash''' of '''address.''' |
|- | |- | ||
Line 261: | Line 261: | ||
|- | |- | ||
|04:59 | |04:59 | ||
− | |Sorting can also be done on ''' numeric keys''' and/or '''values.''' | + | |Sorting can also be done on '''numeric keys''' and/or '''values.''' |
|- | |- | ||
|05:05 | |05:05 | ||
− | |Save the file and switch to terminal. | + | |'''Save''' the file and switch to terminal. |
|- | |- | ||
Line 409: | Line 409: | ||
|- | |- | ||
|08:21 | |08:21 | ||
− | |Note: ''' Hash''' is an unordered collection of data. | + | |Note: '''Hash''' is an unordered collection of data. |
|- | |- | ||
|08:26 | |08:26 | ||
− | |So, ''' keys''' returned will not be in the sequence defined at the time of creating '''hash.''' | + | |So, '''keys''' returned will not be in the sequence defined at the time of creating '''hash.''' |
|- | |- | ||
|08:33 | |08:33 | ||
− | | The loop on ''' values''' works in a similar way. | + | | The '''loop''' on '''values''' works in a similar way. |
|- | |- | ||
|08:38 | |08:38 | ||
− | |Press ''' Ctrl + S''' to save the file. | + | |Press '''Ctrl + S''' to '''save''' the file. |
|- | |- | ||
|08:41 | |08:41 | ||
− | |Then, switch to terminal and execute the ''' Perl script''' as | + | |Then, switch to terminal and execute the ''' Perl script''' as: |
|- | |- | ||
Line 433: | Line 433: | ||
|- | |- | ||
|08:50 | |08:50 | ||
− | |and press ''' Enter.''' | + | |and press '''Enter.''' |
|- | |- | ||
Line 445: | Line 445: | ||
|- | |- | ||
|08:59 | |08:59 | ||
− | |In this tutorial, we learnt | + | |In this tutorial, we learnt: |
|- | |- | ||
|09:01 | |09:01 | ||
− | |''' Hash''' in | + | |'''Hash''' in PERL and |
|- | |- | ||
|09:03 | |09:03 | ||
− | | | + | |accessing elements of a '''hash''' |
|- | |- | ||
Line 469: | Line 469: | ||
|- | |- | ||
|09:15 | |09:15 | ||
− | | | + | |and his/her percentage as the '''value'''. |
|- | |- | ||
Line 477: | Line 477: | ||
|- | |- | ||
|09:24 | |09:24 | ||
− | |Then print the | + | |Then print the percentage of each student. |
|- | |- | ||
|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 | + | |It summarizes the Spoken Tutorial project. |
|- | |- | ||
|09:37 | |09:37 | ||
− | |If you do not have good bandwidth, you can download and watch it | + | |If you do not have good bandwidth, you can download and watch it. |
|- | |- | ||
| 09:42 | | 09:42 | ||
− | | The Spoken Tutorial Project | + | | The Spoken Tutorial Project team: Conducts workshops using spoken tutorials. |
|- | |- | ||
|09:49 | |09:49 | ||
− | |Gives certificates to those who pass an online | + | |Gives certificates to those who pass an online test. |
|- | |- | ||
|09:53 | |09:53 | ||
− | |For more details, please write to contact at spoken hyphen tutorial dot org | + | |For more details, please write to contact at: spoken hyphen tutorial dot org |
|- | |- | ||
| 10:02 | | 10:02 | ||
− | | Spoken Tutorial | + | | '''Spoken Tutorial''' project is a part of the "Talk to a Teacher" project. |
|- | |- | ||
Line 513: | Line 513: | ||
|- | |- | ||
|10:15 | |10:15 | ||
− | |More information on this | + | |More information on this mission is available at spoken hyphen tutorial dot org slash NMEICT hyphen Intro. |
|- | |- | ||
| 10:26 | | 10:26 | ||
− | | | + | | Hope you enjoyed this PERL tutorial. |
|- | |- | ||
|10:30 | |10:30 | ||
− | |This is Amol signing off. | + | |This is Amol, signing off. |
|- | |- |
Revision as of 14:37, 13 May 2015
Time | 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 Linux 12.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 practice 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 summarizes 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. |