Perl File Handling - Open a File

How to Open a File in Perl programming?

Explanation

To open a file to write or to read data, a "File Handle" is given usually in capital letters, then provide the appropriate "access mode" options like read, read/write, write options and then the filename of the file.

Example :


#! C:programfilesperlbinperl
print "content-type: text/htmlnn";
open(HANDLE,"<file1.txt")or die "can't open file: $!";
while ($record = <HANDLE>)
{
print $record;
}
close (HANDLE);
Result :

qddddddd

In the above example name of the file handle is "HANDLE", we open a file "file1.txt" with read only acess mode, if an error occurs the "die" statement displays a error message. When the file is open all contents of the file is displayed using a while loop.

The user can also use sysopen() instead of open(). If the mode is missing by default the file takes the default mode that is "<" (read only) mode.Using the file handles the user can add any data like array values, hash values, variable's, text etc.

The following is the table of modes that can be used for file handling.
MODE DESCRIPTION
< READ
> WRITE, CREATE, TRUNCATE
>> WRITE, APPEND, CREATE
+< READ, WRITE
+> READ, WRITE, TRUNCATE, CREATE
+>> READ, WRITE, CREATE, APPEND

The following table list the flags that can be used with the sysopen() function
VALUE DESCRIPTION
O_RDWR Read and Write
O_RDONLY Read Only
O_WRONLY Write Only
O_CREAT Create the file
O_APPEND Append the file
O_TRUNC Truncate the file
O_EXCL Stops if file already exists
O_NONBLOCK Non-Blocking usability

Example :


#! C:programfilesperlbinperl
print "content-type: text/htmlnn";
sysopen(HANDLE,'file1.txt',O_RDONLY)or die "can't open file: $!";
while ($record = <HANDLE>)
{
print $record;
}
close(HANDLE);
Result :

Hscriptssssssssssss

In the above example we have used sysopen(), with the flag "O_RDONLY" which opens file in the read only mode.In the while loop we print the conetents of the file.

Ask Questions

Ask Question