Truly Streaming Pattern Matching
The input can be either a string, like in Perl or the "re" module.
Or it can be an input file or file-like input of any kind (just so long as it has a ".read" method).
And it doesn't actually need to be text – you can pattern match an input stream of anything. And this is where generators come to the fore again.