while ( ) { if ( /^ALTER\s+TABLE\s+ (\w+) # $1 \s+ADD\s+CONSTRAINT\s+ (\w+) # $2 \s+PRIMARY\s+KEY\s+\(\s* (.+?) # $3 \s*\)/x ) { print "\$1: <$1> \$2: <$2> \$3: <$3>\n"; } } __DATA__ ALTER TABLE ORDERS ADD CONSTRAINT PK_ORDER_ORDER_NUM PRIMARY KEY ( ORDER_NUM) ALTER TABLE ORDER_ITEMS ADD CONSTRAINT PK_ORDER_NUM_ITEMS PRIMARY KEY ( ORDER_NUM, ITEM_NUM, SUB_TYPE )