close
close - close file (or pipe or socket) handle
close FILEHANDLE
Closes the file or pipe associated with the file handle, returning TRUE
only if stdio successfully flushes buffers and closes the system file
descriptor. You don't have to close FILEHANDLE if you are immediately
going to do another
open()
on it, since
open()
will close it for you. (See
open()
.) However, an explicit close on an input file resets the line
counter ($.), while the implicit close done by
open()
does not. Also,
closing a pipe will wait for the process executing on the pipe to
complete, in case you want to look at the output of the pipe
afterwards. Closing a pipe explicitly also puts the status value of
the command into
$?
. Example:
open(OUTPUT, '|sort >foo'); # pipe to sort
... # print stuff to output
close OUTPUT; # wait for sort to finish
open(INPUT, 'foo'); # get sort's results
FILEHANDLE may be an expression whose value gives the real filehandle name.