in reply to Test RegEx

As the error states, you have an unmatched parenthesis. Perhaps your intended regular expression was:

^\s*password\s+requisite\s+(/lib/security/$ISA/)?pam_cracklib.*lcredit=([0123456789-]+)

If this doesn't do what you intended, provide some sample input and output. See perlre or perlretut for more info.

Replies are listed 'Best First'.
Re^2: Test RegEx
by Saved (Beadle) on Apr 08, 2010 at 18:08 UTC
    I have counted, added, subtracted ")" with not change in the error. I am trying to test the RegEx: ^\s*password\s+requisite\s+(/lib/security/$ISA/)?pam_cracklib.*lcredit=(0123456789-+
      As I stated, if the code I posted does not meet your spec, post intended input and output. Without that, anything I suggest is just guess work. Note that the posted solution above is a valid regular expression. The entire conditional line would look like:

      if (@RECORD = grep (/^\s*password\s+requisite\s+(/lib/security/$ISA/)?pam_cracklib.*lcredit=([0123456789-]+)/, @fRecords )) {

      Update: I missed the unescaped slashes, as Corion caught below. You either need to escape them or use a different delimiter, such as:

      if (@RECORD = grep (m!^\s*password\s+requisite\s+(/lib/security/$ISA/)?pam_cracklib.*lcredit=([0123456789-]+)!, @fRecords )) {

      As a side note, see how your character class was linkified? That happened because you did not wrap your code in code tags. See Writeup Formatting Tips and/or Markup in the Monastery.