While I agree that many mini-languages suck (just like many languages) I don't think the concept of mini-languages sucks. Mini-languages are good if they help us to express outselves less ambigiously, more clear, and/or more efficient. Perl consists of many mini-languages, some obvious, some less obvious. Take them away, and you're left with a language that isn't as useful as it's now. To name a few:
- Formats. Obvious mini-language, but hardly used nowadays.
- Format arguments of (s)sprintf, and POSIX::strftime. Wouldn't want to miss them - having to construct strings in an other way would be awkward.
- Format arguments for pack/unpack. See above.
- Prototype declaration. A simple mini-language, but it's still one.
- Numerical literals. You might not think of it as a mini-language, but it sure is one, and more complicated then at first sight.
- Second argument to open.
- Regular expressions. Can't live without them.
- Character classes inside a regular expression. A mini-language inside a mini-language.
- POSIX character classes. They appear inside character classes, giving a mini-language inside a mini-language inside a mini-language.
And I'm sure you can think of others.
As for other mini-languages, you can pry SQL, vi commands, *roff/pic from my dead, cold fingers, but not before that.
But feel free to burn all HTML templates to the ground. I've no use for them.