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

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 1: Line 1:
 
{| border=1
 
{| border=1
!  <center>'''Time'''</center>
+
|'''Time'''
!  <center>'''Narration'''</center>
+
|''Narration'''
 
   
 
   
 
|-
 
|-
| 00.01
+
| 00:01
 
|Welcome to the spoken tutorial on ''' BLOCKS''' in Perl.  
 
|Welcome to the spoken tutorial on ''' BLOCKS''' in Perl.  
  
 
|-
 
|-
| 00.06
+
| 00:06
 
| In this tutorial, we will learn about the various ''' BLOCKS''' available in '''Perl'''
 
| In this tutorial, we will learn about the various ''' BLOCKS''' available in '''Perl'''
  
 
|-
 
|-
|00.13
+
|00:13
 
|I am using ''' Ubuntu Linux 12.04''' operating system and ''' Perl 5.14.2'''
 
|I am using ''' Ubuntu Linux 12.04''' operating system and ''' Perl 5.14.2'''
 
   
 
   
 
|-
 
|-
|00.21
+
|00:21
 
| I will also be using the ''' gedit''' Text Editor.  
 
| I will also be using the ''' gedit''' Text Editor.  
 
   
 
   
 
|-
 
|-
|00.26
+
|00:26
 
|You can use any text editor of your choice.  
 
|You can use any text editor of your choice.  
  
 
|-
 
|-
|00.31
+
|00:31
 
|As a pre-requisite, you should have basic knowledge of '''Variables, Comments''' in ''' Perl '''  
 
|As a pre-requisite, you should have basic knowledge of '''Variables, Comments''' in ''' Perl '''  
  
 
|-
 
|-
| 00.38
+
| 00:38
 
| Knowledge of ''' Data structures''' in '''PERL''' will be an added advantage.  
 
| Knowledge of ''' Data structures''' in '''PERL''' will be an added advantage.  
  
 
|-
 
|-
| 00.44
+
| 00:44
 
|Please go through the relevant spoken tutorials on the ''' spoken tutorial ''' website.  
 
|Please go through the relevant spoken tutorials on the ''' spoken tutorial ''' website.  
  
 
|-
 
|-
| 00.50
+
| 00:50
 
|''' Perl''' provides 5 special '''blocks.'''  
 
|''' Perl''' provides 5 special '''blocks.'''  
  
 
|-
 
|-
|00.53
+
|00:53
 
|These '''blocks''' get executed at various stages of a '''Perl''' program.  
 
|These '''blocks''' get executed at various stages of a '''Perl''' program.  
 
   
 
   
 
|-
 
|-
|00.59
+
|00:59
 
|These blocks are:  
 
|These blocks are:  
 
   
 
   
 
|-
 
|-
| 01.01
+
| 01:01
 
| '''BEGIN'''  
 
| '''BEGIN'''  
 
   
 
   
 
|-
 
|-
|01.02
+
|01:02
 
|'''END'''  
 
|'''END'''  
 
   
 
   
 
|-
 
|-
|01.03
+
|01:03
 
|''' UNITCHECK'''
 
|''' UNITCHECK'''
  
 
|-
 
|-
| 01.04
+
| 01:04
 
| ''' CHECK. '''
 
| ''' CHECK. '''
  
 
|-
 
|-
|01.05
+
|01:05
 
|''' INIT '''
 
|''' INIT '''
  
 
|-
 
|-
|01.06
+
|01:06
 
| Let us start with understanding the ''' BEGIN''' block.   
 
| Let us start with understanding the ''' BEGIN''' block.   
 
   
 
   
 
|-
 
|-
|01.10
+
|01:10
 
|''' BEGIN''' block get executed at the time of compilation.  
 
|''' BEGIN''' block get executed at the time of compilation.  
  
 
|-
 
|-
|01.15
+
|01:15
 
|So, any code written inside this block gets executed first during compilation.  
 
|So, any code written inside this block gets executed first during compilation.  
 
   
 
   
 
|-
 
|-
|01.22
+
|01:22
 
|We can have several ''' BEGIN ''' blocks inside a ''' Perl''' script.   
 
|We can have several ''' BEGIN ''' blocks inside a ''' Perl''' script.   
  
 
|-
 
|-
|01.26
+
|01:26
 
| These blocks will get executed in the order of declaration.  
 
| These blocks will get executed in the order of declaration.  
 
   
 
   
 
|-
 
|-
| 01.31
+
| 01:31
 
|That is in the ''' First define First execute ''' pattern  
 
|That is in the ''' First define First execute ''' pattern  
  
 
|-
 
|-
|01.35
+
|01:35
 
|The syntax for ''' BEGIN block''' is as follows  
 
|The syntax for ''' BEGIN block''' is as follows  
 
   
 
   
 
|-
 
|-
|01.40
+
|01:40
 
| '''BEGIN''' in capital letters space open curly bracket  
 
| '''BEGIN''' in capital letters space open curly bracket  
  
 
|-
 
|-
| 01.45
+
| 01:45
 
| Press ''' Enter.'''  
 
| Press ''' Enter.'''  
 
   
 
   
 
|-
 
|-
|01.47
+
|01:47
 
|Piece of code to be executed at the time of compilation  
 
|Piece of code to be executed at the time of compilation  
 
    
 
    
 
|-
 
|-
|01.51
+
|01:51
 
| Press '''Enter '''
 
| Press '''Enter '''
  
 
|-
 
|-
|01.52
+
|01:52
 
|Close curly bracket  
 
|Close curly bracket  
 
   
 
   
 
|-
 
|-
|01.55
+
|01:55
 
|Now, let us look at an example of '''BEGIN''' blocks.  
 
|Now, let us look at an example of '''BEGIN''' blocks.  
 
   
 
   
 
|-
 
|-
|01.59
+
|01:59
 
|Open the Terminal and type  
 
|Open the Terminal and type  
  
 
|-
 
|-
|02.02
+
|02:02
 
| ''' gedit beginBlock dot pl ''' space '''ampersand'''
 
| ''' gedit beginBlock dot pl ''' space '''ampersand'''
  
 
|-
 
|-
|02.08
+
|02:08
 
|and press  '''Enter.'''  
 
|and press  '''Enter.'''  
  
 
|-
 
|-
|02.10
+
|02:10
 
|This will open the ''' beginBlock dot pl ''' file in '''gedit. '''
 
|This will open the ''' beginBlock dot pl ''' file in '''gedit. '''
 
   
 
   
 
|-
 
|-
|02.15
+
|02:15
 
|Type the following piece of code as displayed on the screen.  
 
|Type the following piece of code as displayed on the screen.  
  
 
|-
 
|-
|02.20
+
|02:20
 
|Let us look at what I have written inside the script.  
 
|Let us look at what I have written inside the script.  
 
   
 
   
 
|-
 
|-
|02.24
+
|02:24
 
|Here, we have printed some text before and after  ''' BEGIN''' blocks.  
 
|Here, we have printed some text before and after  ''' BEGIN''' blocks.  
 
   
 
   
 
|-
 
|-
|  02.31
+
|  02:31
 
| Similarly, I have written one ''' print statement''' in each '''BEGIN''' block.  
 
| Similarly, I have written one ''' print statement''' in each '''BEGIN''' block.  
  
 
|-
 
|-
|  02.37
+
|  02:37
 
|Please note, I have not given the semicolon after the ''' BEGIN''' blocks.  
 
|Please note, I have not given the semicolon after the ''' BEGIN''' blocks.  
  
 
|-
 
|-
| 02.42
+
| 02:42
 
|Putting a semicolon, will result in a syntax error, on execution of the program.  
 
|Putting a semicolon, will result in a syntax error, on execution of the program.  
 
   
 
   
 
|-
 
|-
|02.49
+
|02:49
 
|Now, press ''' Ctrl+s''' to save the file.  
 
|Now, press ''' Ctrl+s''' to save the file.  
 
   
 
   
 
|-
 
|-
| 02.53
+
| 02:53
 
| Then switch to  terminal and execute the script by typing,  
 
| Then switch to  terminal and execute the script by typing,  
 
   
 
   
 
|-
 
|-
| 02.58
+
| 02:58
 
|''' perl beginBlock dot pl'''
 
|''' perl beginBlock dot pl'''
  
 
|-
 
|-
|03.01
+
|03:01
 
|and press '''Enter.'''
 
|and press '''Enter.'''
 
   
 
   
 
|-
 
|-
|03.04
+
|03:04
 
|You will get the output as displayed on the terminal.  
 
|You will get the output as displayed on the terminal.  
 
   
 
   
 
|-
 
|-
|  03.09
+
|  03:09
 
| Notice that The line written inside the first '''BEGIN''' block gets printed first and  
 
| Notice that The line written inside the first '''BEGIN''' block gets printed first and  
 
   
 
   
 
|-
 
|-
|03.16
+
|03:16
 
| The first '''print statement''' in the script actually gets printed after the '''BEGIN block statements. '''
 
| The first '''print statement''' in the script actually gets printed after the '''BEGIN block statements. '''
 
    
 
    
 
|-
 
|-
|  03.25
+
|  03:25
 
| '''BEGIN blocks''' gets executed in the order of their declaration.  
 
| '''BEGIN blocks''' gets executed in the order of their declaration.  
  
 
|-
 
|-
|  03.31
+
|  03:31
 
|  From this example, it is evident that:  
 
|  From this example, it is evident that:  
 
   
 
   
 
|-
 
|-
|  03.34
+
|  03:34
 
|The code written inside the ''' BEGIN'''  blocks gets executed first.  
 
|The code written inside the ''' BEGIN'''  blocks gets executed first.  
 
   
 
   
 
|-
 
|-
| 03.40
+
| 03:40
 
| This is irrespective of the location of the ''' BEGIN''' block inside ''' PERL'''  script.  
 
| This is irrespective of the location of the ''' BEGIN''' block inside ''' PERL'''  script.  
  
 
|-
 
|-
| 03.46
+
| 03:46
 
| '''BEGIN blocks'''  always get executed in the '''First In First Out''' manner.  
 
| '''BEGIN blocks'''  always get executed in the '''First In First Out''' manner.  
  
 
|-
 
|-
|03.52
+
|03:52
 
|So one of the use of this '''block''' is to include files inside a Perl script, before actual execution starts.  
 
|So one of the use of this '''block''' is to include files inside a Perl script, before actual execution starts.  
  
 
|-
 
|-
|04.01
+
|04:01
 
|Now, let us understand the '''END block '''
 
|Now, let us understand the '''END block '''
 
   
 
   
 
|-
 
|-
|04.04
+
|04:04
 
|''' END block''' get executed at the end of PERL program  
 
|''' END block''' get executed at the end of PERL program  
  
 
|-
 
|-
|04.09
+
|04:09
 
|Code written inside this block gets executed after PERL has finished executing the program.  
 
|Code written inside this block gets executed after PERL has finished executing the program.  
  
 
|-
 
|-
|04.17
+
|04:17
 
|We can have several ''' END blocks'''  inside a '''Perl script.'''  
 
|We can have several ''' END blocks'''  inside a '''Perl script.'''  
  
 
|-
 
|-
|04.21
+
|04:21
 
|These blocks will get executed in reverse order of declaration  
 
|These blocks will get executed in reverse order of declaration  
 
   
 
   
 
|-
 
|-
| 04.26
+
| 04:26
 
| That is, in '''Last define First execute''' pattern.  
 
| That is, in '''Last define First execute''' pattern.  
 
   
 
   
 
|-
 
|-
|04.30
+
|04:30
 
|The syntax for ''' END block''' is as follows  
 
|The syntax for ''' END block''' is as follows  
  
 
|-
 
|-
|04.35
+
|04:35
 
|''' END ''' in capital letters  open curly bracket  
 
|''' END ''' in capital letters  open curly bracket  
 
   
 
   
 
|-
 
|-
|04.39
+
|04:39
 
|Press ''' Enter'''  
 
|Press ''' Enter'''  
  
 
|-
 
|-
|04.40
+
|04:40
 
|Piece of code to be executed at the end of the ''' PERL ''' script  
 
|Piece of code to be executed at the end of the ''' PERL ''' script  
 
   
 
   
 
|-
 
|-
|04.45
+
|04:45
 
|Press ''' Enter'''
 
|Press ''' Enter'''
  
 
|-
 
|-
|04.46
+
|04:46
 
|Close curly bracket  
 
|Close curly bracket  
  
 
|-
 
|-
|04.49
+
|04:49
 
|Now let us look at an example of END blocks.  
 
|Now let us look at an example of END blocks.  
 
   
 
   
 
|-
 
|-
|04.53
+
|04:53
 
|Open the Terminal and type  
 
|Open the Terminal and type  
  
 
|-
 
|-
|  04.56
+
|  04:56
 
|''' gedit endBlock dot pl space ampersand'''
 
|''' gedit endBlock dot pl space ampersand'''
  
 
|-
 
|-
|  05.00
+
|  05:00
 
|and press '''Enter'''
 
|and press '''Enter'''
  
 
|-
 
|-
|05.03
+
|05:03
 
| This will open the ''' endBlock dot pl''' file in '''gedit.'''  
 
| This will open the ''' endBlock dot pl''' file in '''gedit.'''  
 
   
 
   
 
|-
 
|-
|  05.08
+
|  05:08
 
| Type the following piece of code as displayed on the screen.  
 
| Type the following piece of code as displayed on the screen.  
  
 
|-
 
|-
| 05.13
+
| 05:13
 
| Let us look at what I have written inside this script.  
 
| Let us look at what I have written inside this script.  
  
 
|-
 
|-
|  05.17
+
|  05:17
 
| Here we have printed some text before and after ''' END''' blocks.  
 
| Here we have printed some text before and after ''' END''' blocks.  
  
 
|-
 
|-
|  05.23
+
|  05:23
 
|Similarly, we have written one print statement in each ''' END''' block.  
 
|Similarly, we have written one print statement in each ''' END''' block.  
  
 
|-
 
|-
|  05.29
+
|  05:29
 
| Please note, I have not given the ''' semicolon''' after the '''END''' block.  
 
| Please note, I have not given the ''' semicolon''' after the '''END''' block.  
  
 
|-
 
|-
|05.34
+
|05:34
 
|If we give the semicolon, there will be a syntax error on compilation.  
 
|If we give the semicolon, there will be a syntax error on compilation.  
 
   
 
   
 
|-
 
|-
|  05.41
+
|  05:41
 
| Now, press ''' Ctrl+s''' to save the file.  
 
| Now, press ''' Ctrl+s''' to save the file.  
 
   
 
   
 
|-
 
|-
|  05.45
+
|  05:45
 
| Then switch to terminal and execute the script by typing,  
 
| Then switch to terminal and execute the script by typing,  
  
 
|-
 
|-
|05.50
+
|05:50
 
|''' perl endBlock dot pl'''
 
|''' perl endBlock dot pl'''
  
 
|-
 
|-
| 05.53
+
| 05:53
 
|and '''press Enter.'''
 
|and '''press Enter.'''
  
 
|-
 
|-
|05.55
+
|05:55
 
| You will get the output as displayed on the terminal.  
 
| You will get the output as displayed on the terminal.  
  
 
|-
 
|-
|06.00
+
|06:00
 
| Notice that : The line written inside the ''' END''' block is printed last.  
 
| Notice that : The line written inside the ''' END''' block is printed last.  
 
   
 
   
 
|-
 
|-
| 06.06
+
| 06:06
 
| The last ''' print statement''' in the script actually gets printed before the '''END block statements and  
 
| The last ''' print statement''' in the script actually gets printed before the '''END block statements and  
  
 
|-
 
|-
| 06.13
+
| 06:13
 
| ''' END''' blocks gets executed in the reverse order of their declaration.  
 
| ''' END''' blocks gets executed in the reverse order of their declaration.  
  
 
|-
 
|-
|  06.20
+
|  06:20
 
| From the example, it is evident that  
 
| From the example, it is evident that  
  
 
|-
 
|-
|  06.23
+
|  06:23
 
|The code written inside the ''' END''' blocks get executed at the end.  
 
|The code written inside the ''' END''' blocks get executed at the end.  
 
   
 
   
 
|-
 
|-
|06.29
+
|06:29
 
| This is irrespective of the location of the ''' END''' block inside the '''PERL''' script and  
 
| This is irrespective of the location of the ''' END''' block inside the '''PERL''' script and  
 
   
 
   
 
|-
 
|-
|06.36
+
|06:36
 
|'''END''' blocks gets executed in the ''' Last In First Out''' manner.  
 
|'''END''' blocks gets executed in the ''' Last In First Out''' manner.  
  
 
|-
 
|-
|06.41
+
|06:41
 
|So, one use of '''END''' block is to destroy objects created in the program, before exiting.  
 
|So, one use of '''END''' block is to destroy objects created in the program, before exiting.  
 
 
 
 
 
|-
 
|-
|06.49
+
|06:49
 
| Similarly, ''' PERL''' has ''' UNITCHECK, CHECK''' and ''' INIT''' blocks.  
 
| Similarly, ''' PERL''' has ''' UNITCHECK, CHECK''' and ''' INIT''' blocks.  
  
 
|-
 
|-
|06.55
+
|06:55
 
|These blocks are used rarely by developers and are a bit difficult to understand.  
 
|These blocks are used rarely by developers and are a bit difficult to understand.  
  
 
|-
 
|-
|07.02
+
|07:02
 
| So, I will be just briefing you about these blocks.  
 
| So, I will be just briefing you about these blocks.  
  
 
|-
 
|-
|07.06
+
|07:06
 
|''' UNITCHECK, CHECK''' and '''INIT''' blocks are useful-  
 
|''' UNITCHECK, CHECK''' and '''INIT''' blocks are useful-  
 
   
 
   
 
|-
 
|-
|07.10
+
|07:10
 
|to catch the transition between compilation and execution phase of the main program and   
 
|to catch the transition between compilation and execution phase of the main program and   
  
 
|-
 
|-
|07.18
+
|07:18
 
|to perform some checks or initialisation, after compilation and before execution  
 
|to perform some checks or initialisation, after compilation and before execution  
  
 
|-
 
|-
|07.24
+
|07:24
 
|''' UNITCHECK''' and '''CHECK''' blocks runs in '''Last in First out''' manner   
 
|''' UNITCHECK''' and '''CHECK''' blocks runs in '''Last in First out''' manner   
  
 
|-
 
|-
|07.31
+
|07:31
 
|whereas '''INIT'''  block runs in '''First In First Out''' manner.  
 
|whereas '''INIT'''  block runs in '''First In First Out''' manner.  
  
 
|-
 
|-
|07.37
+
|07:37
 
|The syntax for '''UNITCHECK''' block is as follows  
 
|The syntax for '''UNITCHECK''' block is as follows  
  
 
|-
 
|-
|07.41
+
|07:41
 
|''' UNITCHECK''' in capital letters space open curly bracket  
 
|''' UNITCHECK''' in capital letters space open curly bracket  
  
 
|-
 
|-
|07.46
+
|07:46
 
|Press '''Enter'''  
 
|Press '''Enter'''  
  
 
|-
 
|-
|07.48
+
|07:48
 
|Piece of code to be executed  
 
|Piece of code to be executed  
  
 
|-
 
|-
|07.50
+
|07:50
 
|Press '''Enter'''
 
|Press '''Enter'''
  
 
|-
 
|-
|07.52
+
|07:52
 
|Close curly bracket  
 
|Close curly bracket  
  
 
|-
 
|-
|07.54
+
|07:54
 
|The syntax for '''CHECK''' block is as follows
 
|The syntax for '''CHECK''' block is as follows
  
 
|-
 
|-
|07.58
+
|07:58
 
|'''CHECK''' in capital letters space open curly bracket  
 
|'''CHECK''' in capital letters space open curly bracket  
  
 
|-
 
|-
|08.03
+
|08:03
 
|Press '''Enter'''  
 
|Press '''Enter'''  
  
 
|-
 
|-
|08.04
+
|08:04
 
|Piece of code to be executed  
 
|Piece of code to be executed  
  
 
|-
 
|-
|08.07
+
|08:07
 
|Press '''Enter '''
 
|Press '''Enter '''
  
 
|-
 
|-
|08.08
+
|08:08
 
|Close curly bracket  
 
|Close curly bracket  
  
 
|-
 
|-
|08.11
+
|08:11
 
|The syntax for '''INIT''' block is as follows  
 
|The syntax for '''INIT''' block is as follows  
  
 
|-
 
|-
|08.15
+
|08:15
 
|''' INIT''' in capital letters space open curly bracket  
 
|''' INIT''' in capital letters space open curly bracket  
  
 
|-
 
|-
|08.20
+
|08:20
 
|Press '''Enter '''
 
|Press '''Enter '''
  
 
|-
 
|-
|08.21
+
|08:21
 
|Piece of code to be initialised  
 
|Piece of code to be initialised  
  
 
|-
 
|-
|08.24
+
|08:24
 
|Press '''Enter '''
 
|Press '''Enter '''
  
 
|-
 
|-
|08.26
+
|08:26
 
|Close curly bracket  
 
|Close curly bracket  
  
 
|-
 
|-
|08.28
+
|08:28
 
|For better understanding, I recommend that you experiment with these blocks in your '''Perl''' scripts.  
 
|For better understanding, I recommend that you experiment with these blocks in your '''Perl''' scripts.  
  
 
|-
 
|-
|08.36
+
|08:36
 
|Let us summarize.  
 
|Let us summarize.  
  
 
|-
 
|-
|08.37
+
|08:37
 
|In this tutorial, we have learnt -  
 
|In this tutorial, we have learnt -  
  
 
|-
 
|-
|08.40
+
|08:40
 
|''' BEGIN''' and '''END''' blocks in detail and  
 
|''' BEGIN''' and '''END''' blocks in detail and  
  
 
|-
 
|-
|08.44
+
|08:44
 
|Introduction to ''' UNITCHECK, CHECK''' and '''INIT ''' blocks  
 
|Introduction to ''' UNITCHECK, CHECK''' and '''INIT ''' blocks  
  
 
|-
 
|-
|08.48
+
|08:48
 
|using sample programs  
 
|using sample programs  
  
 
|-
 
|-
|08.52
+
|08:52
 
|Here is assignment for you -  
 
|Here is assignment for you -  
  
 
|-
 
|-
|08.54
+
|08:54
 
|Type the below code inside a PERL script;  
 
|Type the below code inside a PERL script;  
  
 
|-
 
|-
|08.58
+
|08:58
 
|Execute the script and observe the output.  
 
|Execute the script and observe the output.  
  
 
|-
 
|-
|09.02
+
|09:02
 
|Watch the video available at the following link
 
|Watch the video available at the following link
 
    
 
    
 
|-
 
|-
|09.06
+
|09:06
 
|It summaries the Spoken Tutorial project
 
|It summaries the Spoken Tutorial project
 
   
 
   
 
|-
 
|-
|09.09
+
|09:09
 
|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.14
+
| 09:14
 
|  The Spoken Tutorial Project Team  Conducts workshops using spoken tutorials
 
|  The Spoken Tutorial Project Team  Conducts workshops using spoken tutorials
 
    
 
    
 
|-
 
|-
|09.20
+
|09:20
 
|Gives certificates to those who pass an online  test
 
|Gives certificates to those who pass an online  test
 
   
 
   
 
|-
 
|-
|09.24
+
|09:24
 
|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
 
   
 
   
 
|-
 
|-
| 09.32
+
| 09:32
 
|  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
 
   
 
   
 
|-
 
|-
|09.37
+
|09:37
 
|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.
 
   
 
   
 
|-
 
|-
|09.45
+
|09:45
 
|More information on this Mission is available at spoken hyphen tutorial dot org slash NMEICT hyphen Intro
 
|More information on this Mission is available at spoken hyphen tutorial dot org slash NMEICT hyphen Intro
 
   
 
   
 
|-
 
|-
| 09.57
+
| 09:57
 
|  Hope you enjoyed this Perl tutorial.  
 
|  Hope you enjoyed this Perl tutorial.  
 
   
 
   
 
|-
 
|-
|10.00
+
|10:00
 
|This is Amol signing off.
 
|This is Amol signing off.
 
    
 
    
 
|-
 
|-
|10.02
+
|10:02
 
|Thanks for joining.
 
|Thanks for joining.
 
   
 
   
 
|}
 
|}

Revision as of 11:53, 10 July 2014

Time Narration'
00:01 Welcome to the spoken tutorial on BLOCKS in Perl.
00:06 In this tutorial, we will learn about the various BLOCKS available in Perl
00:13 I am using Ubuntu Linux 12.04 operating system and Perl 5.14.2
00:21 I will also be using the gedit Text Editor.
00:26 You can use any text editor of your choice.
00:31 As a pre-requisite, you should have basic knowledge of Variables, Comments in Perl
00:38 Knowledge of Data structures in PERL will be an added advantage.
00:44 Please go through the relevant spoken tutorials on the spoken tutorial website.
00:50 Perl provides 5 special blocks.
00:53 These blocks get executed at various stages of a Perl program.
00:59 These blocks are:
01:01 BEGIN
01:02 END
01:03 UNITCHECK
01:04 CHECK.
01:05 INIT
01:06 Let us start with understanding the BEGIN block.
01:10 BEGIN block get executed at the time of compilation.
01:15 So, any code written inside this block gets executed first during compilation.
01:22 We can have several BEGIN blocks inside a Perl script.
01:26 These blocks will get executed in the order of declaration.
01:31 That is in the First define First execute pattern
01:35 The syntax for BEGIN block is as follows
01:40 BEGIN in capital letters space open curly bracket
01:45 Press Enter.
01:47 Piece of code to be executed at the time of compilation
01:51 Press Enter
01:52 Close curly bracket
01:55 Now, let us look at an example of BEGIN blocks.
01:59 Open the Terminal and type
02:02 gedit beginBlock dot pl space ampersand
02:08 and press Enter.
02:10 This will open the beginBlock dot pl file in gedit.
02:15 Type the following piece of code as displayed on the screen.
02:20 Let us look at what I have written inside the script.
02:24 Here, we have printed some text before and after BEGIN blocks.
02:31 Similarly, I have written one print statement in each BEGIN block.
02:37 Please note, I have not given the semicolon after the BEGIN blocks.
02:42 Putting a semicolon, will result in a syntax error, on execution of the program.
02:49 Now, press Ctrl+s to save the file.
02:53 Then switch to terminal and execute the script by typing,
02:58 perl beginBlock dot pl
03:01 and press Enter.
03:04 You will get the output as displayed on the terminal.
03:09 Notice that The line written inside the first BEGIN block gets printed first and
03:16 The first print statement in the script actually gets printed after the BEGIN block statements.
03:25 BEGIN blocks gets executed in the order of their declaration.
03:31 From this example, it is evident that:
03:34 The code written inside the BEGIN blocks gets executed first.
03:40 This is irrespective of the location of the BEGIN block inside PERL script.
03:46 BEGIN blocks always get executed in the First In First Out manner.
03:52 So one of the use of this block is to include files inside a Perl script, before actual execution starts.
04:01 Now, let us understand the END block
04:04 END block get executed at the end of PERL program
04:09 Code written inside this block gets executed after PERL has finished executing the program.
04:17 We can have several END blocks inside a Perl script.
04:21 These blocks will get executed in reverse order of declaration
04:26 That is, in Last define First execute pattern.
04:30 The syntax for END block is as follows
04:35 END in capital letters open curly bracket
04:39 Press Enter
04:40 Piece of code to be executed at the end of the PERL script
04:45 Press Enter
04:46 Close curly bracket
04:49 Now let us look at an example of END blocks.
04:53 Open the Terminal and type
04:56 gedit endBlock dot pl space ampersand
05:00 and press Enter
05:03 This will open the endBlock dot pl file in gedit.
05:08 Type the following piece of code as displayed on the screen.
05:13 Let us look at what I have written inside this script.
05:17 Here we have printed some text before and after END blocks.
05:23 Similarly, we have written one print statement in each END block.
05:29 Please note, I have not given the semicolon after the END block.
05:34 If we give the semicolon, there will be a syntax error on compilation.
05:41 Now, press Ctrl+s to save the file.
05:45 Then switch to terminal and execute the script by typing,
05:50 perl endBlock dot pl
05:53 and press Enter.
05:55 You will get the output as displayed on the terminal.
06:00 Notice that : The line written inside the END block is printed last.
06:06 The last print statement in the script actually gets printed before the END block statements and
06:13 END blocks gets executed in the reverse order of their declaration.
06:20 From the example, it is evident that
06:23 The code written inside the END blocks get executed at the end.
06:29 This is irrespective of the location of the END block inside the PERL script and
06:36 END blocks gets executed in the Last In First Out manner.
06:41 So, one use of END block is to destroy objects created in the program, before exiting.
06:49 Similarly, PERL has UNITCHECK, CHECK and INIT blocks.
06:55 These blocks are used rarely by developers and are a bit difficult to understand.
07:02 So, I will be just briefing you about these blocks.
07:06 UNITCHECK, CHECK and INIT blocks are useful-
07:10 to catch the transition between compilation and execution phase of the main program and
07:18 to perform some checks or initialisation, after compilation and before execution
07:24 UNITCHECK and CHECK blocks runs in Last in First out manner
07:31 whereas INIT block runs in First In First Out manner.
07:37 The syntax for UNITCHECK block is as follows
07:41 UNITCHECK in capital letters space open curly bracket
07:46 Press Enter
07:48 Piece of code to be executed
07:50 Press Enter
07:52 Close curly bracket
07:54 The syntax for CHECK block is as follows
07:58 CHECK in capital letters space open curly bracket
08:03 Press Enter
08:04 Piece of code to be executed
08:07 Press Enter
08:08 Close curly bracket
08:11 The syntax for INIT block is as follows
08:15 INIT in capital letters space open curly bracket
08:20 Press Enter
08:21 Piece of code to be initialised
08:24 Press Enter
08:26 Close curly bracket
08:28 For better understanding, I recommend that you experiment with these blocks in your Perl scripts.
08:36 Let us summarize.
08:37 In this tutorial, we have learnt -
08:40 BEGIN and END blocks in detail and
08:44 Introduction to UNITCHECK, CHECK and INIT blocks
08:48 using sample programs
08:52 Here is assignment for you -
08:54 Type the below code inside a PERL script;
08:58 Execute the script and observe the output.
09:02 Watch the video available at the following link
09:06 It summaries the Spoken Tutorial project
09:09 If you do not have good bandwidth, you can download and watch it
09:14 The Spoken Tutorial Project Team Conducts workshops using spoken tutorials
09:20 Gives certificates to those who pass an online test
09:24 For more details, please write to contact at spoken hyphen tutorial dot org
09:32 Spoken Tutorial Project is a part of the Talk to a Teacher project
09:37 It is supported by the National Mission on Education through ICT, MHRD, Government of India.
09:45 More information on this Mission is available at spoken hyphen tutorial dot org slash NMEICT hyphen Intro
09:57 Hope you enjoyed this Perl tutorial.
10:00 This is Amol signing off.
10:02 Thanks for joining.

Contributors and Content Editors

Gaurav, PoojaMoolya, Sandhya.np14