new()
Creates a new ACL verifier. The generic function provided here just creates and blesses an object.
syntax_check(PRINCIPAL, ACL)
This method should be overridden by any child classes that want to implement validating the name of
an ACL before creation. The default implementation allows any name for an ACL.
check(PRINCIPAL, ACL, TYPE, NAME)
This method should always be overridden by child classes. The default implementation just declines
all access. TYPE and NAME are the type and name of the object being accessed, which may be used by
some ACL schemes or may be ignored.
error([ERROR ...])
Returns the error of the last failing operation or undef if no operations have failed. Callers
should call this function to get the error message after an undef return from any other instance
method.
For the convenience of child classes, this method can also be called with one or more error strings.
If so, those strings are concatenated together, trailing newlines are removed, any text of the form
" at \S+ line \d+\.?" at the end of the message is stripped off, and the result is stored as the
error. Only child classes should call this method with an error string.