But I am making assumptions based on this one piece of data. all s/CHECK\b//i does is check for the CHECK (case insensitive)followed by word boundary and then replace it with nothing (as you mentioned).while ( <DATA> ) { $_ =~ s/( CHECK\(.*,)/,\n \1/; #Find a space followed by a #CHECK followed by a ( #and then followed by anything but #having to be followed by a , #and substituting with comma a #new line and then anything that was #matched previously between the parens #the () not the \() print $_; } __DATA__ CREATE TABLE "ARSAMSUSER"."LINK_TYPE_CODE" ( LINK_TYPE VARCHAR2(20) NOT NULL, DCD_NO VARCHAR2(1) NULL, IS_ONE_TO_ONE VARCHAR2(1) NULL CHECK(IS_ONE_TO_ONE IS NULL + OR(IS_ONE_TO_ONE IN(Y,N,NULL))), IS_DRAWN VARCHAR2(1) NULL CHECK(IS_DRAWN IS NULL OR(I +S_DRAWN IN(Y,N,NULL))), DESCRIPTION VARCHAR2(60) NULL, LENGTH_OPERATION VARCHAR2(4) NULL, WIDTH_OPERATION VARCHAR2(4) NULL, HEIGHT_OPERATION VARCHAR2(4) NULL, WEIGHT_OPERATION VARCHAR2(4) NULL, AREA_OPERATION VARCHAR2(4) NULL, PRIMARY KEY (LINK_TYPE) ) TABLESPACE ARSAMS /
In reply to Re: Yet another problem
by Enlil
in thread Rewritting SQL table definition
by curtisb
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |