Hi,
kleine Anregung: Du benoetigst m.E. keinen Hash, sondern einen Tree als Datenstruktur. Diese Datenstruktur wird in Perl sicherlich von einigen Modulen bereitgestellt. Du koenntest das z.B. mit einem XML-Modul machen, welches aus einem XML-Dokument einen Perl-Tree macht.
http://search.cpan.org/search?query=Tree+XML&mode=all
http://search.cpan.org/search?query=Tree&mode=all
Gruss,
Lude