About a year ago, I wrote a very elaborate RouterOS script for deploying a shared configuration across a network of Mikrotik routers.
Unfortunately, the RouterOS script language has turned out to be a moving target. They keep changing the semantics, and scripts break all the time.
It’s rough at the edges, and uglier than Perl, but it’s a full language with blocks, functions, scopes and data structures.
I’ll have to find another way of doing it that won’t break across firmware updates.