in reply to Re (chip): Two-arg open() considered dangerous
in thread Two-arg open() considered dangerous

It is not guaranteed. From 'perldoc -f sysopen' on 5.005_03 I get:
=item sysopen FILEHANDLE,FILENAME,MODE =item sysopen FILEHANDLE,FILENAME,MODE,PERMS [ snip ] The possible values and flag bits of the MODE parameter are system-dependent; they are available via the standard module C<Fcntl>. For historical reasons, some values work on almost every system supported by perl: zero means read-only, one means write-only, and two means read/write. We know that these values do I<not> work under OS/390 & VM/ESA Unix and on the Macintosh; you probably don't want to use them in new code.
So those values probably work. But not always.

Replies are listed 'Best First'.
Re (chip): Two-arg open() considered dangerous
by chip (Curate) on Dec 12, 2001 at 03:58 UTC
    Damn. I had no idea that there were systems that broken that could still run a modern Perl.

        -- Chip Salzenberg, Free-Floating Agent of Chaos

      Either way, it's more readable with the explicit constant names exported by Fcntl, which is good for all those coders coming to your code from a two-arg open() mentality/background.