Thnaks for correction of my misunderstanding and new information.


I don't think it's a bug. rel2abs uses canonpath to clean up the path it creates. But the File::Spec documentation for canonpath says

       canonpath
No physical check on the filesystem, but a logical cleanup of a path.

             $cpath = File::Spec->canonpath( $path ) ;

Note that this does *not* collapse x/../y sections into y. This is by design. If /foo on your system is a symlink to /bar/ baz, then /foo/../quux is actually /bar/quux, not /quux as a naive ../-removal would give you. If you want to do this kind of processing, you prob- ably want "Cwd"'s "realpath()" function to actually traverse the
         filesystem cleaning up paths like this.


Trying Cwd::realpath in your example (but with real filenames, because realpath() looks at the filesystem in order to resolve symlinks) gives the result you seek. As a side issue, because realpath does look at the filesystem, it's expensive compared with the other operations, so you may want to avoid it if you can.




=======================================================
 Tetsuro KURITA
  E-mail: [EMAIL PROTECTED]
  http://homepage.mac.com/tkurita/scriptfactory/
=======================================================

Reply via email to