For reference, check out SymbolicMode.pm which is what the chmod module uses. I didn't read too deep into it, but it appears to be very well commented.

As for Regexp::Common::list failing with only item, that's documented behavior:
    $RE{list}{-pat}{-sep}{-lastsep}
    Returns a pattern matching a list of (at least two) substrings.

Update: The File::chmod module may be a good reference as well.
Also, if it helps to just convert to real from symbolic modes and work from there, Symbolic.pm (from the ppt bundle) can used directly like (or this could be used to see if it's parsable/valid format):
use SymbolicMode; $realmode = SymbolicMode::mod ($mode, $file) or die "invalid mode: $ +mode\n";

Update: "I want to match a comma-separated string, with zero or more items, and each item matches a particular regexp" -- Sorry, i got a little carried away from the root question.. Yeah, your regex looks like a pretty good way to do it. Only other suggestion would be to use the mod() example above to validate the symbolicmode (letting it do the heavy work), and then apply another regex to make sure it doesn't have stuff that you don't want so it fits your limited use.

In reply to Re: Validation of unix permissions by davidrw
in thread Validation of unix permissions by Tanktalus

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.