IMO,
Text::Glob::glob_to_regex code is not too difficult to understand. If you had found an issue there you can try fixing it and submitting a patch.
Also, I don't quite remember the details, but a long time ago I found out that Text::Glob was not good enough for my purposes and so I wrote my own version (Net::SFTP::Foreign::Helpers::_glob_to_regex).
Retrospectively, what I learned from there is that rolling out your own version of a glob-to-regex compiler supporting basic wildcards is not too difficult. But then, last year, I had to write a feature rich glob-to-regex compiler (in Scala this time, scala-glob), and it got quite complex.
IIRC, one of the main limitations of Text::Glob is that you can not use it efficiently to match globs spanning more than a directory level (as in f*oo/b*ar/*.txt) against tree data structures like file systems.