in reply to Missing from File::Spec(?)

Actually, changing "/a1/a2/../a3" to "/a1/a3" can somethimes get you to a different directory. This is why File::Spec doesn't do that. This has to do with symbolic links and other not-strictly-tree-like possibilities in Unix-like file systems (automounted directories is another).

For example, if "/a1/a2" is a symbolic link to "/b1/b2/b3" then "/a1/a2/../a3" should really become "/b1/b2/a3". And there is no "good" way to do that. One reasonable way is chdir("/a1/a2/../a3"); $path= getcwd(), but that doesn't always work either (though I'm getting old and tired and now usually feel that getcwd() not working is a good excuse for my script to not work as well).

        - tye (but my friends call me "Tye")