File.new('foo', 0600 , 'wb')

Yohanes Santoso wrote:

Well, you have two conflicting requirements: permission 0600 and
platform independence. Permission 0600 may produce unexepected
permission/result in Windows or other non-POSIX OSes, depending on the
reliability and conformance of the Unix emulation layer on those OSes,
and File::BINARY is invalid in UNIX.

wb would act like w on Unix, and 0600 on Windows would be ignored if
there’s no emulation layer.

The code above is as succinct as it can be if you want it to operate
in both Unix and Windows.

There could be a very simple syntax with sensible default behaviour (see
above); the doublecolon stuff would still be available for more
flexibility and control.

Tobi

···


http://www.pinkjuice.com/