I was thinking of something like a sequence of SQL select like statements that will express this. But Iam not sure how it can take care of the overrides by the rules that follow.
If you do this with DBD::AnyData temporary-in-memory tables, or with any DBD that supports views and/or temporary tables, you can create a temporary table and apply the rules successively to that table. If all rules are written in the form "DELETE from temp_table WHERE ..." then you can successively apply the rules e.g. #1 would remove anyone not in CountryA-D and rule #3 would remove people from that list who lived in CountryC and state xx.

If you want to go the non-SQL route, I think YAML is likely to be your best bet.


In reply to Re: Suggestions for design of a config/rules file by jZed
in thread Suggestions for design of a config/rules file by thens

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.