Arranges for FILEHANDLE to be read or written in "binary" or "text" mode
on systems where the run-time libraries distinguish between binary and
text files. If FILEHANDLE is an expression, the value is taken as the
-name of the filehandle. DISCIPLINE can be either of C<:raw> for
-binary mode or C<:crlf> for "text" mode. If the DISCIPLINE is
-omitted, it defaults to C<:raw>. Returns true on success, C<undef> on
-failure. The C<:raw> are C<:clrf>, and any other directives of the
-form C<:...>, are called I/O I<disciplines>.
-
-The C<open> pragma can be used to establish default I/O disciplines.
-See L<open>.
+name of the filehandle.
+
+DISCIPLINE can be either of C<:raw> for binary mode or C<:crlf> for
+"text" mode. If the DISCIPLINE is omitted, it defaults to C<:raw>.
+Returns true on success, C<undef> on failure. To mark FILEHANDLE as
+UTF-8, use C<:utf8>, and to mark the as bytes, use C<:bytes>.
+
+The C<:raw> are C<:clrf>, and any other directives of the form
+C<:...>, are called I/O I<disciplines>. The C<open> pragma can be
+used to establish default I/O disciplines. See L<open>.
In general, binmode() should be called after open() but before any I/O
is done on the filehandle. Calling binmode() will flush any possibly
variable is ignored. If PERL5OPT begins with B<-T>, tainting will be
enabled, and any subsequent options ignored.
+=item PERLIO
+
+A space-separated list of PerlIO layers.
+
+=over 8
+
+=item :bytes
+
+XXX
+
+=item :crlf
+
+XXX
+
+=item mmap
+
+XXX
+
+=item perlio
+
+XXX
+
+=item raw
+
+XXX
+
+=item stdio
+
+XXX
+
+=item unix
+
+XXX
+
+=item :utf8
+
+XXX
+
+=back
+
+For example, XXX ... for Unicode XXXX ... for Win32 XXX
+
=item PERLLIB
A colon-separated list of directories in which to look for Perl library