Article 10951 of comp.lang.perl:
Newsgroups: comp.lang.perl
Path: feenix.metronet.com!news.ecn.bgu.edu!usenet.ins.cwru.edu!howland.reston.ans.net!vixen.cso.uiuc.edu!milo.mcs.anl.gov!raptor.mcs.anl.gov!olson
From: [email protected] (Bob Olson)
Subject: Re: anlpasswd parenthesis matching problem
Message-ID: <[email protected]>
Sender: [email protected]
Nntp-Posting-Host: raptor.mcs.anl.gov
Organization: Argonne National Lab, Mathematics & Computer Science Division
References: <[email protected]>
Date: Thu, 24 Feb 1994 14:07:25 GMT
Lines: 15

In article <[email protected]> [email protected] (K. Bruner) writes:
>We have anlpasswd installed here, and one of our users gets this error
>when trying to change his password to one with an unmatched parenthesis:
>/xxxxxxx/: unmatched () in regexp at {path deleted}/perl/passwd line 6
>42, <STDIN> line 2.

That is a bug in an earlier version of anlpasswd. You can pick up a
new version from info.mcs.anl.gov in pub/systems/anlpasswd-2.2.tar.Z.
It has further enhancements and bugfixes.

In the meantime, add this line before the test you quoted:

   $pass =~ s/[\\()*.|\$^+\[\]]/\\$&/g;

--bob