<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def entry_verifier(entries, regex, delimiter):
 """Checks each entry against regex for validity, If an entry does not match the regex, the entry and regex are broken down by the delimiter and each segment is analyzed to produce an accurate error message. Args: entries (list):
 List of entries to check with regex regex (str):
 Regular expression to compare entries with delimiter (str):
 Character to split entry and regex by, used to check parts of entry and regex to narrow in on the error Raises: FormatError: Class containing regex match error data Example: """


    cregex = re.compile(regex)  # Compiling saves time if many entries given

    # Encode raw delimiter in order to split a bad entry
    python_version = int(sys.version.split('.')[0])
    decoder = 'unicode-escape' if python_version == 3 else 'string-escape'
    dedelimiter = codecs.decode(delimiter, decoder)

    for entry in entries:
        match = re.match(cregex, entry)

        # Match failed, check regex and entry parts for error
        if not match:
            split_regex = regex.split(delimiter)
            split_entry = entry.split(dedelimiter)
            part = 0  # "Enumerate" zipped iter
            for regex_segment, entry_segment in zip(split_regex, split_entry):
                # Ensure regex_segment only matches entire entry_segment
                if not regex_segment[0] == '^':
                    regex_segment = '^' + regex_segment
                if not regex_segment[-1] == '$':
                    regex_segment += '$'

                # If segment fails, raise error and store info on failure
                if not re.match(regex_segment, entry_segment):
                    raise FormatError(template=regex_segment,
                                      subject=entry_segment,
                                      part=part)

                part += 1