> I once brutalized Henry Spencer's engine into telling me when I was
   > on my way to a match.  This was for a UI: I wanted to be able to say
   > that the input should only match this RE, and if they typed something
   > that broke the match, I could beep and disallow the character.
   > 
   > I was just a greenhorn then, so it coredumped.  But it's another use
   > for access to internal engine states and failure reasons.

Good point. Perhaps, on failure, a regex could set $@ to indicate what the
problem was:

        while (gui_getchar($nextchar)) {
                $input.$nextchar =~ m/$pattern/;
                if ($@ =~ /fail/) { beep }
                else              { $input .= $nextchar }
        }

Damian

Reply via email to