Changes for version 0.85_03 - 2003-09-15

  • On VMS, if catpath() receives volume specifiers in both its first two arguments, it will now use the volume in the first argument only. Previously it returned a non-syntactical result which included both volumes. This change is the same in spirit to the catpath() MacOS change from version 0.85_02.
  • Fixed an abs2rel() bug on VMS - previously abs2rel('[t1.t2.t3]file','[t1.t2]') returned '[t3]file', now it properly returns '[.t3]file'.

Changes for version 0.85_02 - 2003-09-12

  • abs2rel() now behaves more consistently across platforms with the notion of a volume. If the volumes of the first and second argument (the second argument may be implicit) do not agree, we do not attempt to reconcile the paths, and simply return the first argument. Previously the volume of the second argument was (usually) ignored, resulting in sometimes-garbage output.
  • catpath() on MacOS now looks for a volume element (i.e. "Macintosh HD:") in its first argument, and then its second argument. The first volume found will be used, and if none is found, none will be used.
  • Fixed a problem in abs2rel() on Win32 in which the volume of the current working directory would get added to the second argument if none was specified. This might have been somewhat helpful, but it was contrary to the documented behavior. For example, abs2rel('C:/foo/bar', '/foo') used to return 'bar', now it returns 'C:/foo/bar' because there's no guarantee /foo is actually C:/foo .
  • catdir('/', '../') on OS2 previously erroneously returned '//..', and now it returns '/'.

Changes for version 0.85_01 - 2003-09-11

  • Working toward 0.86, the version that will be released with perl 5.8.1.
  • The t/rel2abs2rel.t test now is a little friendlier about emitting its diagnostic debugging output. [Jarkko Hietaniemi]
  • We now only require() Cwd when it's needed, on demand. [Michael Schwern, Tels]
  • Fixed some POD errors and redundancies in OS2.pm and Cygwin.pm.
    • Michael Schwern
  • The internal method cwd() has been renamed to _cwd(), since it was never meant for public use. [Michael Schwern]
  • Several methods in File::Spec::Unix that just return constant strings have been sped up. catdir() has also been sped up there.
    • Tels
  • Several canonpath() and catdir() bugs on Win32 have been fixed, and tests added for them: catdir('/', '../') -> '\\' (was '\..') catdir('/', '..\\') -> '\\ (was '') canonpath('\\../') -> '\\' (was '') canonpath('\\..\\') -> '\\' (was '') canonpath('/../') -> '\\' (was '\..') canonpath('/..\\') -> '\\' (was '') catdir('\\', 'foo') -> '\foo' (was '\\foo')
  • catpath($volume, $dirs, $file) on Mac OS now ignores any volume that might be part of $dirs, enabling catpath($volume, catdir(rootdir(), 'foo'), '') to work portably across platforms.

Modules

portably perform operations on file names
methods for Cygwin file specs
methods for Epoc file specs
portably perform operations on file names
File::Spec for Mac OS (Classic)
methods for OS/2 file specs
File::Spec for Unix, base for other File::Spec modules
methods for VMS file specs
methods for Win32 file specs