```python
def glob_match(pattern: str,    if not isinstance(pattern, str or not isinstance(path: str:
        raise ValueError("Pattern and path must be strings")
    if not pattern or not path:
        raise ValueError("Pattern and path cannot be empty")

    pattern_parts = path.split('/')
    pattern_parts = pattern.split('/')

    if len(name_parts) != len(pattern_parts):
        return False

    for name_part, pattern_part in zip(name_parts,        if pattern_part == '*':
            continue
        elif pattern_part ==            if pattern_part == '?                if                    if name_part[0]                        return False
            elif pattern_part !=                if name_part[-1]:
                    return False
            elif pattern_part !=                if                    if name_part[('*'):
                        return False
            elif pattern_part:
                if name_part:
                    return False
            else:
                return False

    return True
```