Um einen Verzeichnisbaum zu durchwandern empfiehlt sich ein Modul wie File::Find oder File::Find::Rule. Hast Du einmal die Dateinamen gesammelt, so kannst Du sie einfach mit regulären Ausdrücken in ihre Bestandteile (Rubrik, etc.) zerlegen.
When C++ is your hammer, every problem looks like your thumb.