You could do something like:
use strict; my $to_parse='allow:test1, "@test2" deny:test3,test4 password:"123 4 +56"'; my ($allow,$deny,$password)= $to_parse=~/([^:]+?)deny:([^:]+?)password +:([^:]+)/; my $result_hash={}; my @allowlist=map {/([^"]+)/} (split /\s*,\s*/ , $allow); if (scalar (@allowlist) == 1) { $result_hash->{"allow"}=$allowlist[0]; } else { $result_hash->{"allow"}=\@allowlist; } print $result_hash->{"allow"} ."\n"; print $result_hash->{"allow"}->[1]; # and similar for deny and password
There are obvious ways of improving this: putting in a better regexp with lookahead matches, putting the stanzas (allow, deny, ...) in a hash or array and iterate over that one etc., but this should give you an idea on how to proceed.

CU
Robartes-

Update:After submitting, I saw jj808's solution - that has the better regexp I mentioned, and the commas between "" issue he mentions is also present in my code.


In reply to Re: Parsing issue by robartes
in thread Parsing issue by hotshot

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.