Hola,
En PERL es sencillo de hacer (tienes dos "paquetes" que te ayudan mucho). En
www.sourceforge.net y
www.freshmeat.net encontraras muchos en muchos lenguajes y con codigo fuente. Google creo que dice que el suyo esta hecho en Python. En Java y en C/C++ tampoco seria muy dificil hacerlo.
Suerte.