Works like a charm
thanks
ZA

-----Original Message-----
From: Zeev Atlas [mailto:[EMAIL PROTECTED]
Sent: Sunday, January 11, 2004 10:09 PM
To: [EMAIL PROTECTED]
Subject: RE: Matching everything but...


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




Reply via email to