PERL/C2/Blocks-in-Perl/English-timed
From Script | Spoken-Tutorial
Revision as of 09:47, 29 May 2014 by PoojaMoolya (Talk | contribs)
| |
|
|---|---|
| 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. |