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

From Script | Spoken-Tutorial
Jump to: navigation, search
(Created page with '{| border=1 ! <center>'''Visual Cue'''</center> ! <center>'''Narration'''</center> |- | 00.01 |Welcome to the spoken tutorial on ''' BLOCKS''' in Perl. |- | 00.06 | In this…')
 
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{| border=1
 
{| border=1
!  <center>'''Visual Cue'''</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''' ,  '''END'''  
 
   
 
   
 
|-
 
|-
|01.02
+
|01:03
|'''END'''  
+
|'''UNITCHECK''', '''CHECK'''
  
 
 
|-
 
|-
|01.03
+
|01:05
|''' UNITCHECK'''
+
| '''INIT''', Let us start with understanding the ''' BEGIN''' block.   
 
+
|-
+
| 01.04
+
| ''' CHECK. '''
+
 
+
|-
+
|01.05
+
|''' INIT '''
+
 
+
|-
+
|01.06
+
| Let us start with understanding the ''' BEGIN''' block.   
+
 
   
 
   
 
|-
 
|-
|01.10
+
|01:10
|''' BEGIN''' block get executed at the time of compilation.  
+
|'''BEGIN''' block gets 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 '''.Close curly bracket.
 
+
 
+
|-
+
|01.52
+
|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''' block.  
 
+
 
   
 
   
 
|-
 
|-
|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 get 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'''  block 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 gets 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'''. Piece of code to be executed at the end of the ''' PERL ''' script,
 
+
|-
+
|04.40
+
|Piece of code to be executed at the end of the ''' PERL ''' script  
+
 
   
 
   
 
|-
 
|-
|04.45
+
|04:45
|Press ''' Enter'''
+
|press '''Enter'''.Close curly bracket.
  
 
|-
 
|-
|04.46
+
|04:49
|Close curly bracket
+
|Now, let us look at an example of '''END''' blocks.
 
+
 
   
 
   
 
|-
 
|-
|04.49
+
|04:53
|Now let us look at an example of END blocks.
+
|Open the Terminal and type:
  
 
 
|-
 
|-
|04.53
+
| 04:56
|Open the Terminal and type
+
|'''gedit endBlock dot pl space ampersand'''
  
 
|-
 
|-
04.56
+
05:00
|''' gedit endBlock dot pl space ampersand'''
+
|and press '''Enter'''.
  
 
|-
 
|-
| 05.00
+
|05:03
|and press '''Enter'''
+
 
+
 
+
|-
+
|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 get 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 get 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 initialization, after compilation and before execution.
  
 
|-
 
|-
|07.24
+
|07:24
|''' UNITCHECK''' and '''CHECK''' blocks runs in '''Last in First out''' manner   
+
|''' UNITCHECK''' and '''CHECK''' blocks run 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'''. Piece of code to be executed,
  
 
|-
 
|-
|08.04
+
|08:07
|Piece of code to be executed
+
|press '''Enter'''.Close curly bracket.
  
 
|-
 
|-
|08.07
+
|08:11
|Press '''Enter '''
+
|The syntax for '''INIT''' block is as follows:
 
+
  
 
|-
 
|-
|08.08
+
|08:15
|Close curly bracket  
+
|'''INIT''' in capital letters space open curly bracket  
  
 
|-
 
|-
|08.11
+
|08:20
|The syntax for '''INIT''' block is as follows
+
|press '''Enter'''.Piece of code to be initialized,
  
 
|-
 
|-
|08.15
+
|08:24
|''' INIT''' in capital letters space open curly bracket
+
|press '''Enter '''.
 
+
|-
+
|08.20
+
|Press '''Enter '''
+
 
+
|-
+
|08.21
+
|Piece of code to be initialised
+
 
+
|-
+
|08.24
+
|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. In this tutorial, we have learnt: 
  
 
|-
 
|-
|08.37
+
|08:40
|In this tutorial, we have learnt -
+
|'''BEGIN''' and '''END''' blocks in detail and
 
+
  
 
|-
 
|-
|08.40
+
|08:44
|''' BEGIN''' and '''END''' blocks in detail and
+
|introduction to '''UNITCHECK, CHECK''' and '''INIT''' blocks  
  
 
|-
 
|-
|08.44
+
|08:48
|Introduction to ''' UNITCHECK, CHECK''' and '''INIT ''' blocks
+
|using sample programs.
  
 
|-
 
|-
|08.48
+
|08:52
|using sample programs
+
|Here is an assignment for you: 
 
+
  
 
|-
 
|-
|08.52
+
|08:54
|Here is assignment for you -
+
|Type the below code inside a '''PERL script''';
  
 
|-
 
|-
|08.54
+
|08:58
|Type the below code inside a PERL script;
+
|'''execute''' the script and observe the output.
  
 
|-
 
|-
|08.58
+
|09:02
|Execute the script and observe the output.  
+
|Watch the video available at the following link.
 
+
 
 
|-
 
|-
|09.02
+
|09:06
|Watch the video available at the following link
+
|It summarizes the Spoken Tutorial project.
+
 
   
 
   
 
|-
 
|-
|09.06
+
|09:09
|It summaries the Spoken Tutorial project
+
|If you do not have good bandwidth, you can download and watch it.
+
 
   
 
   
 
|-
 
|-
|09.09
+
| 09:14
|If you do not have good bandwidth, you can download and watch it
+
The Spoken Tutorial project team: Conducts workshops using spoken tutorials.
   
+
 
 
|-
 
|-
| 09.14
+
|09:20
| The Spoken Tutorial Project Team  Conducts workshops using spoken tutorials
+
|Gives certificates to those who pass an online test.
+
 
   
 
   
 
|-
 
|-
|09.20
+
|09:24
|Gives certificates to those who pass an online  test
+
|For more details, please write to: contact at spoken hyphen tutorial dot org.
 
   
 
   
 
|-
 
|-
|09.24
+
| 09:32
|For more details, please write to contact at spoken hyphen tutorial dot org
+
| "Spoken Tutorial" project is a part of the "Talk to a Teacher" project.
 
   
 
   
 
|-
 
|-
| 09.32
+
|09:37
|  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.
 
|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.
 
   
 
   
 
|}
 
|}

Latest revision as of 15:54, 10 March 2017

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 , END
01:03 UNITCHECK, CHECK
01:05 INIT, Let us start with understanding the BEGIN block.
01:10 BEGIN block gets 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 .Close curly bracket.
01:55 Now, let us look at an example of BEGIN block.
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 get executed in the order of their declaration.
03:31 From this example, it is evident that
03:34 the code written inside the BEGIN block 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 gets 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. Piece of code to be executed at the end of the PERL script,
04:45 press Enter.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 get 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 get 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 initialization, after compilation and before execution.
07:24 UNITCHECK and CHECK blocks run 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. Piece of code to be executed,
08:07 press Enter.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.Piece of code to be initialized,
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. 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 an 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 summarizes 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