while ( ) { s!\b((\d{4}[-/]\d{2}[-/]\d{2}\b)|(\d{2}[-/]\d{2}[-/]\d{4}))\b!$1!g; print; } __DATA__ 2000-04-23 was a great day, but 04-24-1999 is much better. 2000/04/23 I would like to match those 3 formats for now. 2000-85-85 is not a real date.