This is great stuff haukex
I think that using Regexp::Grammars is probably the best solution, however I am getting this YACC feeling over me and think this kind of thing is programming on an entire different level. So currently I am looking at your second approach which I think will offer me the flexibility that I am looking for.
Actually I think this will help me to take this even one step further and build a more advanced configuration which will allow me to specify a filter and formulas to act on parameters. And for this I am thinking in the same lines as LanX (using a cache, separate functionality in functions etc. etc.).
I understand about 95% of the code, but I am still struggling with some of the regex items which are:
- Why (?:\z|\n) and not just \z when \z is 'up to and including \n'
- Why \h*\n* and not \s*
Thanks for your elaborate post