Interestingly, in perl6 I would think it natural to begin with such as:

grammar foo_db { rule key { <[A-Z]> } rule scalar { <[^,]>+ } rule list { [<scalar> ,]+ <scalar> } rule term { <key> = [<list> | <scalar>] } rule record { [<term> <[|]>]* <term> } }

-- to exactly specify the records of the database, rather than either loosely accept the data or make it hard to quickly determine how loosely (or, perhaps, wrongly) the data is taken.

Although I like to do this in perl5, it's not quite so easy to take a verifying regex and make it only accept certain keys, or fail on invalid values. As it isn't so easy or terse or maintainable, split// is preferred, and ultimately very strenuous testing is preferred.

Please don't take that last paragraph as an indictment.


In reply to Re^2: Simple RegEx Substring Extraction from a Delimited Text Record by Anonymous Monk
in thread Simple RegEx Substring Extraction from a Delimited Text Record by ozboomer

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • 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:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, 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, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.