Extrair data formatada inconsistentemente da string (análise de data, PNL)

Eu tenho uma grande lista de arquivos, alguns dos quais com datas incorporadas no nome do arquivo. O formato das datas é inconsistente e geralmente incompleto, por exemplo "Aug06", "Aug2006", "agosto de 2006", "08-06", "01-08-06", "2006", "011004" etc. Além disso, alguns nomes de arquivos têm números não relacionados que se parecem com datas, por exemplo "20202010".

Em resumo, as datas são normalmente incompletas, às vezes não existem, são formatadas de maneira inconsistente e são incorporadas a uma string com outras informações, por exemplo "Relatório Aug06.xls".

Existem módulos Perl disponíveis que farão um trabalho decente ao adivinhar a data dessa string? Ele não precisa estar 100% correto, pois será verificado manualmente por um humano, mas estou tentando facilitar o máximo possível para essa pessoa e existem milhares de entradas para verificar :)

questionAnswers(3)

yourAnswerToTheQuestion