in reply to parsing variable input (perlre problem)

Two things about your regex spring to mind. Firstly, you want to look for %H:%M:%S before %H:%M because otherwise the %H:%M test will grab all of them. Secondly, you could capture %d%d and %b %d at the same time by doing (\w{3}\s*\d\d).

Cheers,

JohnGG

Update: The tests for %H:%M:%S and %H:%M could be combined, (\d\d:\d\d(?::\d\d)?).