Hallo,
$SRC_DIR" . "$name"
Ich weiß ja nicht wie Du es siehst, aber irgendwie fehlt da spätestens nach der ersten Ebene ein Verzeichnistrennzeichen.
Abgesehen davon halte ich nichts davon, ständig das Verzeichnis zu wechseln, zumal opendir auch ganz gut mit absoluten Pfadangaben klarkommt.
BTW: Ist Dir copydir() aus dem File::Copy-Modul bekannt?
Grüße
Klaus