Tanto tiempo, lamento no responder antes, pero el resto de los ramos también me tenían un tanto atareado.
¡¡Estoy a un paso de resolver el problema!! ^^
Ya no tengo problemas con las comas o ';' dentro de las comillas, lo logré con la siguiente expresión:
Using perl Syntax Highlighting
push(@todo,$+)while $_=~(m/(".*?")|(%.*?%)|[,;](.*?)[,;]|[,;](.*?)|(.*?)[,;]|(.*)/g);
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Bueno, eso resulta bastante bien (¡larga vida a los cortocircuitos!).
Ahora, el único problema que me queda es el siguiente: en el caso de que la línea de entrada sea algo como ';,;4;2' debería imprimir algo así:
El problema es que solo me imprime el espacio vacío una sola vez, y ahí no entiendo que falla, ya que la regex para esos casos es no voraz, debería tomar todos los espacios vacíos :S
Bueno, ojalá me puedan ayudar ^^ (no necesariamente la solución, ¡pero que alguien me explique porque no funciona, estaría muy agradecido!)
¡Disculpen las molestias, muchas gracias!