On Sun, 18 Mar 2001, Craig A. Berry wrote:
> There are two problems here, one the double slash before "build,"
> which I assume would be a problem even on Unix, and the other is the
> extremely long directory name. The most common volume format on VMS
> has a limit of 39.39, but I believe Perl also supports 8.3 and 14.3
> filesystems which would run into trouble far sooner. For creating
> temporary directory names portably you might consider using
> File::Temp, where the porting work has already been done.
As a practical matter the double slash may not be a problem on most
contemporary commercial unixes including linux and *BSD, but of course
Perl is supposed to work even on older/odder unixes. The two file systems
that I know where // is definitely a problem are Mach Ten running on Mac
OS and Unix Systems services on OS/390. In the former case a _leading_ //
indicates acess to a Mac OS file and in the latter case a _leading_ //
indicates a path to an MVS legacy data set (hence at least for OS/390 a
// in the middle of a filepath should pose no problem but it's use is
highly discouraged).
IIRC the 14 char file name limit was imposed on very old ATT&T style
unix's (at or before SysVR3?) that perl may no longer work on. The use of
'/' rather than File::Spec is a particularly nasty problem on MacOS where
'/' is a legal file name character. Also MacOS's HFS and HFS+ filesystems
impose a 31 character limit on filenames (Mac OS can also mount DOS file
systems but at 8.3 that certainly does not provide a larger filename
space). File::Temp would appear to be quite useful in this regard.
Peter Prymmer