while(){ s{(NAME)\d*\s*(DESC)\d*\s*(DATE)\d*\s*} {$1 ${2}RIPTION $3\n}g; print; } __DATA__ NAME010 DESC025 DATE009 NAME011 DESC035 DATE009