perltutorial
root
File input and output is not much of a stretch from normal I/O.
Basically you have to use the [perlfunc:open|open] command to open a
filestream and then read to and write from it. Then once you're done
with it you use [perlfunc:close|close] to close the file. The syntax for
opening a file is: <BR><BR>
open(FILEHANDLE,"filename");<BR><BR>
This opens a new filehandle with the name of FILEHANDLE, and associates it with
filename which is the location of the file on your disk. This works for
reading a file. If you want to write to it you need to put a > in front of
the filename as seen below:<BR><BR>
open(FILEHANDLE,">filename");<BR><BR>
To append to a file you use >> in front of the filename as you can see here:<BR><BR>
open(FILEHANDLE,">>filename");<BR><BR>
Now for some quick examples:<BR>
<CODE>
open(FILE, "data.txt"); #opens data.txt in read-mode
while(<FILE>){ #reads line by line from FILE which is the filehandle for data.txt
chomp;
print "Saw $_ in data.txt\n"; #shows you what we have read
}
close FILE; #close the file.
</CODE>
<BR>
To print stuff to a file you merely through a line into your program like:<BR><BR>
print FILEHANDLE "your text here\n";
<BR><BR>
FILEHANDLE needs to be a FILEHANDLE you currently have open. Notice there is no comma between the FILEHANDLE and the stuff your printing out.
That is the way it needs to be. Now for a more extended example:<BR>
<CODE>
open FILE, ">keylogger.dat"; #opens file to be written to
while(<>){ #while we're getting input from the keyboard
print FILE $_; #write it to our file
}
close FILE; #then close our file.
</CODE>
<BR><BR>
Another thing you might want to look into are the [perlfunc:_X|filetest operators] these allow
you to do things like test whether a file exists, is readable, is writable among other things.
complete information look at the [perlfunc:_X|documentation]