Basic pattern matching isn't enough to parse dates -- there are a lot of subtle ( and not subtle ) variations in how dates are formatted that can bite you. The same problem comes up in other "simple" tasks like validating email addresses, finding HTML tags, finding comments in code, finding urls...
If you really want to re-solve this problem, at least take a look inside some existing date modules ( and CPAN has an overabundance of those ) to make sure you cover all the cases. But I would strongly urge you to build on something already started.