|
NAMENo::Worries::File - file handling without worriesSYNOPSISuse No::Worries::File qw(file_read file_write file_update); # read a file $data = file_read($path); # idem but with data returned by reference file_read($path, data => \$data); # write a file file_write($path, data => "hello world"); # idem but with data passed by reference file_write($path, data => \"hello world"); # verbosely update a file file_update($path, data => "hello world", diff => 1); DESCRIPTIONThis module eases file handling by providing convenient wrappers around standard file functions. All the functions die() on error.FUNCTIONSThis module provides the following functions (none of them being exported by default):
OPTIONSBoth file_read() and file_write() support a "handle" option that can contain a file handle to use. When given, this handle will be used (and closed at the end of the I/O operations) as is, without calling binmode() on it (see below).These functions also support a "binary" option and a "binmode" option specifying how the file handle should be treated with respect to binmode(). If "binmode" is set, binmode() will be used with the given layer. If "binmode" is not set but "binary" is true, binmode() will be used without any layer. If neither "binmode" nor "binary" are set, binmode() will not be used. This is the default. file_read() can be given a code reference via the "data" option. Each time data is read via sysread(), the subroutine will be called with the read data. At the end of the file, the subroutine will be called with an empty string. file_write() can be given a code reference via the "data" option. It should return data in a way similar to sysread(), returning an empty string to indicate the end of the data to be written to the file. file_update() only supports text files (no "binary" or "binmode" options) and the "data" option can only be a scalar. GLOBAL VARIABLESThis module uses the following global variables (none of them being exported):
SEE ALSONo::Worries.AUTHORLionel Cons <http://cern.ch/lionel.cons>Copyright (C) CERN 2012-2019
Visit the GSP FreeBSD Man Page Interface. |