Na ja, da bastelst Du viel nach, was in Standard-Perl in Modulen wie Cwd oder File::Spec schon drin ist. Ich würde das ja nicht machen und bei File::Path bleiben. Eine "moderne" Variante für solches Pfad-Management ist Path::Tiny, die bietet ein mkpath äquivalent zu make_path, aber auch Funktionen wie realpath, der schräge Pfade wie a:/b/../c//../d/./ richtig einkürzt.
Aber wenn's Deinen Zweck erfüllt, soll's mir recht sein.