Difference between revisions of "PERL/C3/File-Handling/English-timed"
From Script | Spoken-Tutorial
PoojaMoolya (Talk | contribs) |
Sandhya.np14 (Talk | contribs) |
||
| Line 6: | Line 6: | ||
|- | |- | ||
| 00:01 | | 00:01 | ||
| − | | Welcome to the''' Spoken Tutorial''' on''' File Handling in PERL.''' | + | | Welcome to the''' Spoken Tutorial''' on''' File Handling''' in '''PERL.''' |
|- | |- | ||
| 00:06 | | 00:06 | ||
| − | | In this tutorial we will learn how to | + | | In this tutorial, we will learn how to: |
| − | + | ||
* Open a file in '''read mode''' | * Open a file in '''read mode''' | ||
* Write to a file | * Write to a file | ||
* Open a file in '''append mode''' | * Open a file in '''append mode''' | ||
| − | * Close the file handle | + | * Close the '''file handle'''. |
|- | |- | ||
| 00:17 | | 00:17 | ||
| − | | For this tutorial, I am using | + | | For this tutorial, I am using: |
| − | + | ||
* '''Ubuntu Linux 12.04''' operating system | * '''Ubuntu Linux 12.04''' operating system | ||
| − | * '''Perl 5.14.2''' | + | * '''Perl 5.14.2''' and the |
| − | + | * ''' gedit''' Text Editor. | |
|- | |- | ||
| 00:28 | | 00:28 | ||
| − | | You can use any text editor of your choice. | + | | You can use any '''text editor''' of your choice. |
|- | |- | ||
| Line 43: | Line 41: | ||
* read from a file | * read from a file | ||
* write to a file and | * write to a file and | ||
| − | * close a file | + | * close a file. |
|- | |- | ||
|00:54 | |00:54 | ||
| − | | The default file | + | | The default '''file handle'''s are: |
| − | + | ||
* '''STDIN''' | * '''STDIN''' | ||
* '''STDOUT''' | * '''STDOUT''' | ||
| Line 59: | Line 56: | ||
|- | |- | ||
| 01:05 | | 01:05 | ||
| − | | In the syntax''' | + | | In the syntax, '''FILEHANDLE''' is the''' file handle''' returned by the '''open '''function. |
|- | |- | ||
| Line 67: | Line 64: | ||
|- | |- | ||
| 01:18 | | 01:18 | ||
| − | | '''EXPR''' is the physical filename used to read or write. In this case, | + | | '''EXPR''' is the physical filename used to read or write. In this case, “First.txt” is the filename. |
|- | |- | ||
| Line 79: | Line 76: | ||
|- | |- | ||
| 01:38 | | 01:38 | ||
| − | | First we will create a text file and store some data in it. Go to the '''terminal''' and type''' gedit first.txt''' and press '''Enter'''. | + | | First we will create a text file and store some data in it. Go to the '''terminal''' and type: '''gedit first.txt''' and press '''Enter'''. |
|- | |- | ||
| Line 87: | Line 84: | ||
|- | |- | ||
| 01:55 | | 01:55 | ||
| − | | Save the file and close''' gedit'''. | + | | '''Save''' the file and close''' gedit'''. |
|- | |- | ||
| 01:59 | | 01:59 | ||
| − | | Now we will look at a '''Perl '''program that opens the file | + | | Now we will look at a '''Perl '''program that opens the file 'first.txt' and reads the content. |
|- | |- | ||
| 02:07 | | 02:07 | ||
| − | | Let me open the sample program | + | | Let me open the sample program 'openfile.pl' which I have already saved. |
|- | |- | ||
| 02:13 | | 02:13 | ||
| − | | Type''' gedit openfile dot pl ampersand''' and press''' Enter'''. | + | | Type: '''gedit openfile dot pl ampersand''' and press''' Enter'''. |
|- | |- | ||
| Line 111: | Line 108: | ||
|- | |- | ||
| 02:28 | | 02:28 | ||
| − | | The''' open | + | | The''' open''' function opens a file for reading. |
|- | |- | ||
| Line 123: | Line 120: | ||
|- | |- | ||
| 02:44 | | 02:44 | ||
| − | | If you fail to specify the | + | | If you fail to specify the '''Mode''', by default the file will be opened in “READ” mode. |
|- | |- | ||
| 02:50 | | 02:50 | ||
| − | | The third parameter | + | | The third parameter 'first.txt' is the filename from where the data has to be read. |
|- | |- | ||
| 02:57 | | 02:57 | ||
| − | | What will happen if the file | + | | What will happen if the file 'first.txt' does not exist? |
|- | |- | ||
| 03:02 | | 03:02 | ||
| − | | The script will die with the appropriate error message stored in the''' dollar exclamation ($!)'''variable. | + | | The script will die with the appropriate '''error message''', stored in the''' dollar exclamation ($!)'''variable. |
|- | |- | ||
| 03:08 | | 03:08 | ||
| − | | The '''while '''loop will read line by line and loop through the'''<nowiki> <</nowiki>DATA>''' file until all the lines have been read. | + | | The '''while '''loop will read line by line and loop through the '''<nowiki> <</nowiki>DATA>''' file until all the lines have been read. |
|- | |- | ||
| 03:17 | | 03:17 | ||
| − | | | + | | '''Print dollar underscore''' ('$_') variable will print the contents of the current line. |
|- | |- | ||
| 03:22 | | 03:22 | ||
| − | | Lastly, close the file with the''' FILEHANDLE''' name | + | | Lastly, close the file with the''' FILEHANDLE''' name which we had given in the '''open''' statement. |
| Line 156: | Line 153: | ||
|- | |- | ||
| 03:36 | | 03:36 | ||
| − | | Now, press''' Ctrl+S''' to save the file. | + | | Now, press''' Ctrl+S''' to '''save''' the file. |
|- | |- | ||
| 03:40 | | 03:40 | ||
| − | | Let us execute the program. | + | | Let us '''execute''' the program. |
|- | |- | ||
| 03:42 | | 03:42 | ||
| − | | Switch back to the | + | | Switch back to the terminal and type '''perl openfile dot pl''' and press''' Enter'''. |
|- | |- | ||
Revision as of 15:42, 28 December 2015
| Time | Narration |
| 00:01 | Welcome to the Spoken Tutorial on File Handling in PERL. |
| 00:06 | In this tutorial, we will learn how to:
|
| 00:17 | For this tutorial, I am using:
|
| 00:28 | You can use any text editor of your choice. |
| 00:32 | To follow this tutorial, you should have working knowledge of Perl programming. |
| 00:37 | If not, then go through the relevant Perl spoken tutorials on the spoken tutorial website. |
| 00:43 | The basic operations we can do with files in Perl are:
|
| 00:54 | The default file handles are:
|
| 01:02 | This is the syntax for open function. |
| 01:05 | In the syntax, FILEHANDLE is the file handle returned by the open function. |
| 01:11 | MODE represents the mode of opening the file. For eg: read, write, etc. |
| 01:18 | EXPR is the physical filename used to read or write. In this case, “First.txt” is the filename. |
| 01:27 | There is another way to write the open function, as shown here. |
| 01:32 | Let us understand how to open an existing file and read the data from it. |
| 01:38 | First we will create a text file and store some data in it. Go to the terminal and type: gedit first.txt and press Enter. |
| 01:51 | In the first dot txt file, type the following text: |
| 01:55 | Save the file and close gedit. |
| 01:59 | Now we will look at a Perl program that opens the file 'first.txt' and reads the content. |
| 02:07 | Let me open the sample program 'openfile.pl' which I have already saved. |
| 02:13 | Type: gedit openfile dot pl ampersand and press Enter. |
| 02:19 | In the openfile dot pl file, type the following code as displayed on the screen. |
| 02:25 | Let us understand the code now. |
| 02:28 | The open function opens a file for reading. |
| 02:33 | The first parameter DATA is the filehandle which allows Perl to refer to the file in future. |
| 02:40 | The second parameter “<” less than symbol denotes the READ mode. |
| 02:44 | If you fail to specify the Mode, by default the file will be opened in “READ” mode. |
| 02:50 | The third parameter 'first.txt' is the filename from where the data has to be read. |
| 02:57 | What will happen if the file 'first.txt' does not exist? |
| 03:02 | The script will die with the appropriate error message, stored in the dollar exclamation ($!)variable. |
| 03:08 | The while loop will read line by line and loop through the <DATA> file until all the lines have been read. |
| 03:17 | Print dollar underscore ('$_') variable will print the contents of the current line. |
| 03:22 | Lastly, close the file with the FILEHANDLE name which we had given in the open statement.
|
| 03:29 | Closing a file prevents any accidental file changes or overwriting of the content. |
| 03:36 | Now, press Ctrl+S to save the file. |
| 03:40 | Let us execute the program. |
| 03:42 | Switch back to the terminal and type perl openfile dot pl and press Enter. |
| 03:51 | The output is displayed as shown. |
| 03:54 | This is the same content that we saw earlier in first dot txt file. |
| 03:59 | Next we will see how to write data into a file. |
| 04:03 | The open statement with greater than (>) symbol defines the WRITE mode. |
| 04:08 | Filename represents the name of the file where the data has to be written. |
| 04:13 | Let me open the sample program writefile.pl which I have already saved. |
| 04:19 | Switch to the terminal. |
| 04:21 | Now, type gedit writefile dot pl ampersand and press Enter. |
| 04:29 | In the writefile dot pl file, type the following code as displayed on the screen. |
| 04:34 | Let me explain the code now. |
| 04:37 | The open function opens a file second.txt in write mode. |
| 04:44 | “>” Greater than symbol before the filename denotes the write mode. |
| 04:49 | The first parameter FILE1 is the FILEHANDLE. |
| 04:53 | The print function prints the given text to FILEHANDLE. i.e FILE1 |
| 04:59 | Now, press Ctrl+S to save the file |
| 05:03 | Let us execute the program. |
| 05:05 | Switch back to the terminal and type perl writefile dot pl and press Enter. |
| 05:12 | Now let us check whether the text has been written in second.txt file. |
| 05:18 | Type gedit second.txt and press Enter. |
| 05:23 | We can see the text Working with files makes data storage and retrieval a simple task! In our second.txt file. |
| 05:32 | Let us close the second.txt file. |
| 05:35 | What will happen if we open the same file again in write mode? Let us see that. |
| 05:41 | In the writefile.pl, Comment the previous print Statement. |
| 05:46 | Add the below print command. |
| 05:48 | Now, press Ctrl+S to save the file. Let us execute the program. |
| 05:54 | Switch back to the terminal and type perl writefile dot pl and press Enter. |
| 06:00 | Now let us check the second.txt file once again. |
| 06:04 | Type gedit second.txt and press Enter. |
| 06:09 | We can see the output “Greater than symbol (>) overwrites the content of the file!" |
| 06:14 | The previous content of the second.txt file has been overwritten. |
| 06:19 | This is because we had opened the file in the write mode again. |
| 06:24 | Let us close the second.txt file. |
| 06:27 | Next, we will see how to append data to an existing file. |
| 06:32 | The open statement with two greater than (>> ) symbols denotes the APPEND mode. |
| 06:38 | Now I will open the writefile dot pl again in gedit.
|
| 06:44 | In the open statement, type two greater (>>) than symbols. This will denote that the file is in append mode. |
| 06:52 | Comment the previous print statement as it is already executed. |
| 06:57 | Add the line print FILE1 within double quotes Two greater than symbols >> opens the file in append mode to append to the existing data. |
| 07:07 | Now, press Ctrl+S to save the file. |
| 07:11 | Let us execute the program. |
| 07:14 | Switch back to the terminal and type perl writefile dot pl and press Enter. |
| 07:20 | Now let us check whether the text has been appended to the second.txt file. |
| 07:26 | Type gedit second.txt and press Enter. |
| 07:31 | We can see the text has been appended in our second.txt file. |
| 07:36 | Let us close the second.txt file. |
| 07:39 | Similarly, there are other modes also. |
| 07:42 | Try out these options on your own and understand what happens. |
| 07:49 | This brings us to the end of this tutorial. Let us summarise. |
| 07:53 | In this tutorial we learnt to
|
| 08:03 | Here is an assignment for you.
Change the file attribute to +> in the writefile.pl program. |
| 08:11 | Save and execute the program. |
| 08:14 | Open the second.txt file to see the output. |
| 08:17 | Analyse the usage of file attribute +> |
| 08:22 | The video at the following link summarises the Spoken Tutorial project.
Please download and watch it |
| 08:29 | The Spoken Tutorial Project Team
|
| 08:37 | For more details, please write to us. |
| 08:41 | Spoken Tutorial project is funded by NMEICT, MHRD, Government of India. |
| 08:48 | More information on this mission is available at this link. |
| 08:53 | This is Nirmala Venkat from IIT Bombay, signing off. Thanks for watching. |