open($fh, '>:utf-8', $filename)
or die("..."); # Open $filename and support utf-8
In this example, the filehandle is marked with
utf-8 (or utf8 for EBCDIC
users) to accept Perl's internal Unicode encoding.
The PerlIO layers are:
- unix
-
Low-level read/write
- stdio
-
Standard I/O
- perlio
-
Portable implementation of buffering
- crlf
-
Win32
Also in Perl 5.8, you are no longer required to name a filehandle in
open( ) because Perl will handle the filehandles
internally:
open($fh, ...) or ...
You can also use anonymous temporary files with the new form of
open( ):
open($fh, ">", undef) or ...
Pipes can also be used with a multiple-argument form of
open. The following code is roughly equivalent to
the Unix command 'ls -al':
open($fh, "-|", 'ls -al', '/users') or ...