The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

edit( tmpl_files => $tmpl_files, edit_callback => sub {}, verify_callback => sub {} )

Expects @ARGV to contain at least an option and a file to be edited. It can also contain a replica uuid, a ticket uuid, and a status file. The last item must always be the file to be edited. The others, if they appear, must be in that order after the option. The status file must contain the string 'status' in its filename.

edit_callback is called on each line of the file being edited. It should make any edits to the lines it receives and then print what it wants to be saved to the file.

verify_callback is called after editing is done. If you need to write whether the template was correct to a status file, for example, this should be done here.

check_template_by_line($template, $valid_template, $errors)

$template is a reference to an array containing the template to check, split into lines. $valid_template is the same for the template to check against. Lines in these arrays should not have trailing newlines. $errors is a reference to an array where error messages will be stored.

Lines in $valid_template should consist of either plain strings, or strings beginning with 'qr/' (to delimit a regexp object).

Returns true if the templates match and false otherwise.