Name
Connector::Builtin::File::Path
Description
Highly configurable file writer/reader.
Parameters
- LOCATION
-
The base directory where the files are located. This parameter is mandatory.
- file/path
-
Pattern for Template Toolkit to build the filename. The path components are available in the key ARGS. In set mode the unfiltered data is available in key DATA.
See also Connector::Role::LocalPath
- content
-
Pattern for Template Toolkit to build the content. The data is passed "as is". If data is a scalar, it is wrapped into a hash using DATA as key.
- ifexists
-
append: opens the file for appending write.
fail: call
die
silent: fail silently.
replace: replace the file with the new content.
- mode
-
Filesystem permissions to apply to the file when a file is written using the set method. Must be given in octal notation, e.g. 0644. Default is to not set the permissions and rely on the systems umask.
- user / group
-
Name of a user / group that the file should belong to.
Supported Methods
set
Write data to a file.
$conn->set('filename', { NAME => 'Oliver', 'ROLE' => 'Administrator' });
See the file parameter how to control the filename. By default, files are silently overwritten if they exist. See the ifexists parameter for an alternative behaviour.
get
Fetch data from a file. See the file parameter how to control the filename.
my $data = $conn->get('filename');
Example
my $conn = Connector::Builtin::File::Path->new({
LOCATION: /var/data/
file: [% ARGS.0 %].txt
content: Hello [% NAME %]
});
$conn->set('test', { NAME => 'Oliver' });
Results in a file /var/data/test.txt with the content Hello Oliver.