http://www.perlmonks.org?node_id=784550


in reply to Re^3: Inline.pm and untainting
in thread Inline.pm and untainting

and ( $attr & READONLY )

That doesn't seem to do quite the same thing. GetAttributes() tells me that neither C:/Windows/System32 nor many of the files in it are READONLY. Yet, I can't write to that directory, or to any of the files in it.

Cheers,
Rob

Replies are listed 'Best First'.
Re^5: Inline.pm and untainting
by afoken (Chancellor) on Jul 30, 2009 at 16:58 UTC

    GetAttributes() (from Win32::File) returns the file attributes that were invented around 1980 for MS-DOS, namely ARCHIVE, DIRECTORY, HIDDEN, READONLY, and SYSTEM, plus three new using the remaining bits of a byte, invented somewhere around Windows 98 or NT 4.0: OFFLINE, COMPRESSED, and TEMPORARY. Again, these attributes do not have any relation to the ACLs. Win32::Security::ACL should be able to access the ACLs and to tell you why you can't write to the directory.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
      Thanks for that. A CPAN search for Win32::Security::ACL also turned up Win32::FileSecurity. I haven't yet got into the finer details of comparing them.

      Cheers,
      Rob