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.