TODO   [plain text]

Things TODO for File::Path

1. Write a batch file to be run as Administrator on Win32
   that sets up files that cannot be removed with the
   current user (and will hit code paths that are never
   visited under Unix). Useful for code coverage improvements.

2. See if is
   still relevant.

3. Can rmtree initial paths be sanitised before diving into
   _rmtree(), in a way that would reduce platform-specific
   workarounds therein?

4. Investigate rm -p functionality (a linux thing).

5. Consider adding File::Remove trash() functionality.

6. Inodes on Windows:

Need equivalent dev+inode semantics on Win32 in order to have the
race condition code work correctly when rmtree'ing a UNC path
(//server/dir/subdir). (stat $file)[1] always seems to return 0

cdarke @ perlmonks, CLIVE on CPAN wrote:

BOOL Win_CompareInodes (const char *szName)

   GetFileInformationByHandle(Win32open (szName, O_RDONLY), &Info);

   if (Info.dwVolumeSerialNumber == g_Inode.Info.dwVolumeSerialNumber &&
       Info.nFileIndexHigh       == g_Inode.Info.nFileIndexHigh &&
       Info.nFileIndexLow        == g_Inode.Info.nFileIndexLow )
       return TRUE;
      return FALSE;

}  /* Win_CompareInodes */