Then you're wrong. Regular expressions at least are a mini-language; they have their own concepts of control flow, which are very different from the surrounding language.
Mini-languages are useful in places where logical programming--explaining what you want under certain conditions and letting the computer figure out when they happen--is the best way to express your algorithm. make is one example (although it's an extremely limited mini-language); regular expressions ("when you see text like this, give me a true value and put these sections in variables"), style sheets ("when you see nodes that match these criteria, set these properties on them"), and yacc grammars ("when you see this series of tokens, do this") are others.
I do think that you need to have a more powerful full language to back up the mini-language, though. Regexes have Perl or another language for this purpose; style sheets have Javascript; yacc has C. make's flaw is that it's a little too tuned to the task of compiling and linking code, so it doesn't have a backing language.
=cut
--Brent Dax
There is no sig.