See ppi_dumper or Re: ppiwx / wxPPI / wxppixregexp xPPIx_Regexp_linecol_onize / PPIx::Regexp::Element::column_number or Re: Wanted: Perl Regex Pretty Printer (almost, rxrx, rxplain)
PPIx::Regexp is pretty good although I've had to enhance it to do proper regexp modifiers propagation ... I've got code (PPIx::Regexp::xplain), still in need of some refactoring ... you can see sample output above at rxplain link
Regexp::Debugger parses the regex, modifies the regex (adds callbacks), and then runs the modified regex, needs to run it so it can explain the regex -- Re^2: Wanted: Perl Regex Pretty Printer (rxrx bug) -- translating to another regex language would require the amount of context/knowledge as explaining -- thats if you want to adapt it (though patching the module)
So I would go with PPIx::Regexp because it doesn't require running the regex in the perl regex engine, does a pretty good job, and is designed for this kind of task
All other solutions (Regexp::Debugger) are too much work -- sure the tokenizer is good, but there is too much context to keep track off .... basically you end up starting from scratch and learning waaaaaaay too much about regexes ... PPIx::Dumper embodies a lot of that knowledge
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
Outside of code tags, you may need to use entities for some characters:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||