Hi
I may have the solution:
s/(\w(?!1984)\d{4}-)DT(-\S+)/$1DATE$2/;
Will try it tomorrow
Thanks
Ze'ev Atlas-----Original Message----- From: Zeev Atlas [mailto:[EMAIL PROTECTED] Sent: Sunday, January 11, 2004 7:06 PM To: [EMAIL PROTECTED] Subject: Matching everything but... Hi everybody This one is a general Perl question in nature, just happen to deal with mainframe issues: I am dealing with COBOL, SQL etc. in IDMS environment. The IDMS record names and fields are o the form xnnnn-record-name or xnnnn-field-name where x is the system prefix and nnnn is the record number. ecord-name and fieeld-name follow logical, meaningful and predictable patterns. Suppose I want to do something with all date fields in all records, let's say something like s/(\w\d{4}-)DT(-\S+)/$1DATE$2/; (I know thwre are flows in this pattern, but in my environment it will ptactically work for all cases) Now, suppose (and here is my question) I want to do that to all fields in all records but record 1984. How do I do that? I know I can do something like: s/(\w\[^1][^9][^8][^4]-)DT(-\S+)/$1DATE$2/; which is a) awkward and b) not what I want... I am pretty new into Perl and am amazed with what it can do, but every now and then I am amazed with what it canot do. Ze'ev Atlas
