Difference between revisions of "PERL/C3/Special-Variables-in-PERL/English-timed"
From Script | Spoken-Tutorial
PoojaMoolya (Talk | contribs) (Created page with " {| Border = 1 | <center>'''Time'''</center> | <center>'''Narration'''</center> |- |00:01 |Welcome to the''' Spoken Tutorial''' on''' special variables '''in '''Perl.''' |-...") |
PoojaMoolya (Talk | contribs) |
||
Line 61: | Line 61: | ||
|- | |- | ||
|01:14 | |01:14 | ||
− | |Let us understand the usage of '''$_ variable''' using a sample program. | + | |Let us understand the usage of '''$_ (Dollar Underscore) variable''' using a sample program. |
|- | |- | ||
Line 69: | Line 69: | ||
|- | |- | ||
|01:26 | |01:26 | ||
− | |Go to the '''terminal''' and type''' gedit special | + | |Go to the '''terminal''' and type''' gedit special dot pl ampersand '''and press '''Enter.''' |
|- | |- | ||
|01:32 | |01:32 | ||
− | |'''special | + | |'''special dot pl''' file is now open in '''gedit'''. Type the code as displayed on the screen. |
Let me explain the code now. | Let me explain the code now. | ||
Line 86: | Line 86: | ||
|- | |- | ||
|01:54 | |01:54 | ||
− | |And it is used by the '''print statement, '''by default. '''$_ '''saves the use of one extra variable '''$color'''. | + | |And it is used by the '''print statement, '''by default. '''$_ (Dollar Underscore)''' saves the use of one extra variable '''$color'''. |
|- | |- | ||
Line 102: | Line 102: | ||
|- | |- | ||
|02:18 | |02:18 | ||
− | |Now, let us see another example to demonstrate how '''$_ variable '''is '''implicit'''. | + | |Now, let us see another example to demonstrate how '''$_ (Dollar Underscore) variable '''is '''implicit'''. |
Go back to the '''special dot pl file'''. | Go back to the '''special dot pl file'''. | ||
Line 145: | Line 145: | ||
|03:22 | |03:22 | ||
|This program will return the '''maximum value '''between two numbers. | |This program will return the '''maximum value '''between two numbers. | ||
− | '''@_ | + | '''@_ (At the rate underscore)''' is a '''local array '''which stores the two '''arguments dollar a comma dollar b.''' |
|- | |- | ||
Line 217: | Line 217: | ||
|- | |- | ||
|05:14 | |05:14 | ||
− | |On executing, it will print the filename '''First | + | |On executing, it will print the filename '''First dot pl'''. |
|- | |- | ||
Line 325: | Line 325: | ||
|- | |- | ||
|07:51 | |07:51 | ||
− | |Let me show you the text that I have in a file named '''sample | + | |Let me show you the text that I have in a file named '''sample dot txt''' file. |
|- | |- | ||
|07:56 | |07:56 | ||
− | |Now, run the program from the '''command line '''by typing: '''perl commandline | + | |Now, run the program from the '''command line '''by typing: '''perl commandline dot pl space sample dot txt '''and press''' Enter.''' |
|- | |- | ||
|08:07 | |08:07 | ||
− | |This is the text we had in '''sample | + | |This is the text we had in '''sample dot txt''' file. |
|- | |- | ||
Line 358: | Line 358: | ||
|- | |- | ||
|08:41 | |08:41 | ||
− | |'''underscore underscore E N D | + | |'''underscore underscore E N D ''' (all in capital )'''underscore underscore.''' indicates the logical end of the program. |
|- | |- | ||
Line 379: | Line 379: | ||
|09:25 | |09:25 | ||
|We will see a sample program on how '''Global Special Constants '''are used. | |We will see a sample program on how '''Global Special Constants '''are used. | ||
+ | |||
|- | |- | ||
|09:30 | |09:30 | ||
− | |Open the '''terminal''' and type '''gedit specialconstant | + | |Open the '''terminal''' and type '''gedit specialconstant dot pl ampersand ''' and press '''Enter.''' |
|- | |- | ||
|09:39 | |09:39 | ||
− | |'''specialconstant | + | |'''specialconstant dot pl''' file is now open in '''gedit'''. |
|- | |- | ||
Line 393: | Line 394: | ||
|- | |- | ||
|09:50 | |09:50 | ||
− | |The '''special literals PACKAGE, FILE, LINE ''' represent the package name, current filename and | + | |The '''special literals PACKAGE, FILE, LINE ''' represent the package name, current filename and line number respectively at that point in the program. |
− | line number respectively at that point in the program. | + | |
|- | |- | ||
Line 426: | Line 426: | ||
|- | |- | ||
|10:39 | |10:39 | ||
− | | Print the sorted result using '''‘while loop’''' and '''special variable $_ | + | | Print the sorted result using '''‘while loop’''' and '''special variable $_ (Dollar Underscore)''' |
|- | |- | ||
Line 454: | Line 454: | ||
|11:13 | |11:13 | ||
|More information on this mission is available at this link. | |More information on this mission is available at this link. | ||
+ | |||
|- | |- | ||
|11:17 | |11:17 | ||
|This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching. | |This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching. | ||
|} | |} |
Revision as of 11:28, 26 November 2015
|
|
00:01 | Welcome to the Spoken Tutorial on special variables in Perl. |
00:04 | In this tutorial we will learn about
|
00:13 | For this tutorial, I am using
You can use any text editor of your choice. |
00:27 | As a prerequisite, you should have working knowledge of Perl Programming. |
00:32 | If not, then go through the relevant Perl spoken tutorials on the spoken tutorial website. |
00:38 | What are special variables? |
00:41 | Special variables are predefined variables that have a special meaning in Perl. |
00:46 | These do not need to be initialised before use. |
00:50 | These are used to hold the results of searches, environment variables and flags to control debugging. |
00:58 | First, we will learn about Global special variables. |
01:02 | $_ : (Dollar Underscore). This is a widely used special variable. |
01:06 | $_ - Dollar Underscore is the default parameter for lot of functions and pattern-searching strings. |
01:14 | Let us understand the usage of $_ (Dollar Underscore) variable using a sample program. |
01:20 | I will open the special dot pl file which I have already created. |
01:26 | Go to the terminal and type gedit special dot pl ampersand and press Enter. |
01:32 | special dot pl file is now open in gedit. Type the code as displayed on the screen.
Let me explain the code now. |
01:42 | There are 2 foreach loops here. Both these foreach loops will execute the same result. |
01:49 | In each iteration of the loop, the current string is placed in $_. |
01:54 | And it is used by the print statement, by default. $_ (Dollar Underscore) saves the use of one extra variable $color. |
02:03 | Press Ctrl+S to save the file. |
02:06 | Then switch to the terminal and execute the Perl script by typing perl special dot pl and press Enter. |
02:13 | Here both foreach loops give the same output. |
02:18 | Now, let us see another example to demonstrate how $_ (Dollar Underscore) variable is implicit.
Go back to the special dot pl file. |
02:27 | Type the piece of code shown on the screen. |
02:30 | This program reads a text file first.txt line by line. Then it loops through the DATA file, till all lines are read. |
02:40 | print $_ variable prints the contents of the current line from the first.txt file.
In the 'while' loop, the use of $_ is implicit. |
02:51 | We will see more about this in future tutorials. |
02:55 | At the rate underscore is the special variable used to store subroutine parameters. |
03:01 | Arguments for a subroutine are stored in this array variable. |
03:06 | Array operations like pop/shift can be done on this variable, as we do in normal arrays. |
03:13 | I will show an example for this. Let us switch back to special dot pl file once again. |
03:19 | Type the code as displayed on the screen. |
03:22 | This program will return the maximum value between two numbers.
@_ (At the rate underscore) is a local array which stores the two arguments dollar a comma dollar b. |
03:35 | That is, it is stored under dollar underscore index of zero and dollar underscore index of one |
03:43 | The print statement prints the maximum of the two given numbers. |
03:47 | Press Ctrl+S to save the file. |
03:51 | Switch to the terminal and execute the Perl script by typing perl special dot pl and press Enter. |
03:58 | The maximum value is displayed as output. Let’s move on. |
04:02 | Environment variables are represented by percentage followed by capital ENV. |
04:10 | Environment variables contain a copy of the current environment variables, such as the following. |
04:17 | Let us understand %ENV variable using a sample program. |
04:23 | We will switch back to the special dot pl file. |
04:26 | Type the following code as displayed on the screen. |
04:30 | Press Ctrl+S to save the file. Switch to the terminal and execute the Perl script.
|
04:37 | Type perl special dot pl and press Enter. |
04:42 | We can see the current environment details such as PWD (present working directory), username, language etc. |
04:51 | Next we will see about another special variable dollar zero |
04:55 | The special variable dollar zero ($0) contains name of the current Perl program that is being executed. |
05:02 | This is generally used for logging purpose. |
05:05 | For example: I have a file named First.pl within which I am using $0 variable as shown here. |
05:14 | On executing, it will print the filename First dot pl. |
05:19 | Perl has a built-in function called sort that sorts an array. |
05:24 | A comparison function will compare its parameters using the numerical comparison operator. |
05:30 | This operator is represented by lesser than equal to greater than symbols, as shown here. |
05:38 | Let us see an example for this. |
05:40 | Open the terminal and type gedit sort.pl ampersand and press Enter. |
05:47 | sort.pl file is now open in gedit Text Editor. Type the following code as displayed on the screen. |
05:56 | Let me explain the code. The first line declares an array of numbers. |
06:02 | The numerical comparison operator will compare the two values as numbers. |
06:08 | 'Dollar a and dollar b are special package local variables in which the values to be compared are loaded. |
06:16 | And this sort function will sort the numbers in ascending order. |
06:21 | Let us now save and execute the program. |
06:25 | Switch back to the terminal and type, perl sort.pl and press Enter. |
06:31 | We can see that the numbers are sorted in ascending order. |
06:35 | Let’s see another special variable dollar exclamation. |
06:39 | 'dollar exclamation if used in string context, returns the system error string.
Here is an example of its usage. |
06:48 | If the file hello.txt doesn't exist, it will print the error message,like:
Cannot open file for reading : No such file or directory. |
06:59 | Let’s now look at another special variable namely, dollar at the rate. |
07:04 | 'This is another widely used variable. It returns an error message, returned from eval or require command. |
07:12 | 'This example will print: could not divide Illegal division by zero. |
07:17 | dollar dollar is yet another special variable. This holds the process ID of the Perl interpreter running this script. |
07:26 | The diamond operator is used to read every line, from the files specified on the command line. |
07:32 | Let us see an example for this. |
07:35 | Open the terminal and type gedit commandline.pl ampersand and press Enter. |
07:42 | commandline.pl file is now open in gedit. |
07:46 | Type the code as displayed on the screen. |
07:49 | Save the file. |
07:51 | Let me show you the text that I have in a file named sample dot txt file. |
07:56 | Now, run the program from the command line by typing: perl commandline dot pl space sample dot txt and press Enter. |
08:07 | This is the text we had in sample dot txt file. |
08:11 | If no files are specified, it reads from the standard input i.e. from the keyboard. |
08:17 | Perl has an array at the rate capital A R G V special variable.
This holds all the values from the command line. |
08:27 | When using array at the rate capital A R G V, there is no need to declare the variables. |
08:33 | 'The values from the command line are automatically placed in this variable. |
08:37 | Let’s now move on to Global Special Constants. |
08:41 | underscore underscore E N D (all in capital )underscore underscore. indicates the logical end of the program. |
08:50 | Any text following this special variable is ignored after this statement. |
08:55 | underscore underscore FILE (in capital letters) underscore underscore represents the filename of the program at the point where it is used. |
09:06 | underscore underscore LINE (in capital letters) underscore underscore represents the current line number |
09:13 | underscore underscore PACKAGE (in capital letters) underscore underscore represents the current package name at compile time, or undefined if there is no current package. |
09:25 | We will see a sample program on how Global Special Constants are used. |
09:30 | Open the terminal and type gedit specialconstant dot pl ampersand and press Enter. |
09:39 | specialconstant dot pl file is now open in gedit. |
09:44 | 'Type the following code as displayed on the screen. Let me explain the code now. |
09:50 | The special literals PACKAGE, FILE, LINE represent the package name, current filename and line number respectively at that point in the program. |
10:00 | Let us execute the program. |
10:02 | Switch back to the terminal and type: perl specialconstant.pl and press Enter. |
10:09 | We can see the current package name, filename and line number of our program. |
10:15 | This brings us to the end of this tutorial. Let us summarise. |
10:19 | In this tutorial, we learnt about some commonly used special variables in Perl. |
10:25 | As an assignment do the following. Write a Perl script to sort the following array of numbers in ascending and descending order. |
10:34 | Note: For descending order, use the below code for comparison. |
10:39 | Print the sorted result using ‘while loop’ and special variable $_ (Dollar Underscore) |
10:45 | Save and execute the program. |
10:47 | Now check the result. |
10:49 | The video at the following link summarises the Spoken Tutorial project.
Please download and watch it |
10:56 | The Spoken Tutorial Project Team
conducts workshops and gives certificates on passing online tests. |
11:03 | For more details, please write to us. |
11:06 | Spoken Tutorial project is funded by NMEICT, MHRD, Government of India. |
11:13 | More information on this mission is available at this link. |
11:17 | This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching. |