I believe the functions you note (specifically
rel2abs()) will do this. They are in the man pages for
File::Spec, but, like you, they don't exist in the modules installed on my system. They are either new with 5.6 or are just a new feature of
File::Spec that I don't have.
print rel2abs("../../../../../etc/./passwd"); # "/etc/passwd"