On Wed, 02 Jul 2008 21:33:59 +0800, Chen Yue wrote:
> I have a file containing UNIX-styled Path in each line. But the path is
> simplified enough. Some of them has ".." and "." in the middle, such as
> "/a/b/./c/../d". 
> Now I want to simplify each Path according to Unix tradition.
> 
> /a/b/./c/../d    ->    /a/b/d

That ignores another Unix tradition, symlinks.  Suppose /a/b/c is a
symlink to /x/y?  Then the path above is really /x/d.

> The only way I could think out is to split the path and reconstruct them in
> reverse order. But I don't think it is a smart solution. Is there a quick
> way to employ regexp or a library to fix this?

use Cwd qw(realpath);

-- 
Peter Scott
http://www.perlmedic.com/
http://www.perldebugged.com/


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to