NCM::Check¶
NAME¶
NCM::Check - control the state of system files
INHERITANCE¶
Derives from LC::Check
. Most functions are described in the LC::Check
manpage.
SYNOPSIS¶
use NCM::Check;
NCM::Check::lines('/filename',
backup => ".suffix",
linere => "regexp",
goodre => "regexp",
good => "string",
keep => ("first" || "last" || "all"),
add => ("first" || "last" || "no"));
DESCRIPTION¶
NCM::Check
is a suite of functions to control the state of configuration files.
If the files are not correct, NCM::Check
will amend them. Various
properties may be controlled, including:
- *
Existence of file (creation or deletion as necessary)
- *
Presence of lines in a text file (added, rewritten or deleted as necessary)
- *
File mode, owner, access time, hard and soft links, …
METHODS¶
NCM::Check::lines(file [, option …])¶
Ensures that specified lines are present in file.
A newline will be appended to the file if the last line is not newline-terminated.
Options:
- linere
Only lines matching /linere/ will be considered.
- goodre
Lines matching /goodre/ will be preserved unchanged.
- good
String to replace lines that match /linere/ but not /goodre/. Must match both /linere/ and /goodre/.
- keep
Specifies which matching lines should be kept.
first
Keep only the first line matching /linere/.
last
Keep only the last line matching /linere/.
all
Default: keep all lines matching /linere/.
- add
If no match for /linere/ is found,
NCM::Check::lines
may add the line to the file. This option specifies where to add the line:
first
Add good string as the first line of the file.
last
Default: add good string as the last line of the file.
no
Do not alter the file.
- backup
Save a copy of the original file, appending suffix to the filename.
- noaction
Override the global $NoAction flag.