Perl имеет Text :: ASCIIMathML , который работает довольно хорошо.
Адаптировано из раздела Synopsys:
#!/usr/bin/perl
use strict;
use warning;
use Text::ASCIIMathML;
my $parser = Text::ASCIIMathML->new;
my $ASCIIMathML = "int_0^1 e^x dx";
print $parser->TextToMathML($ASCIIMathML);
дает (переформатирован для разборчивости):
<math>
<mstyle>
<mrow><msubsup><mo>∫</mo><mn>0</mn><mn>1</mn></msubsup></mrow>
<msup><mi>e</mi><mi>x</mi></msup>
<mrow><mi>d</mi><mi>x</mi></mrow>
</mstyle>
</math>