summaryrefslogtreecommitdiff
path: root/pod/perlvar.pod
diff options
context:
space:
mode:
authorGabor Szabo <szabgab@gmail.com>2008-01-09 00:07:54 +0200
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2008-01-08 22:33:31 +0000
commitb0169937a1833d262bdcef83fc6595ccc076cb56 (patch)
treebd5bb937167fe60b6cfff376b34f317ea20beb17 /pod/perlvar.pod
parent536daee00bd7944e598743396417656c3a6557b3 (diff)
downloadperl-b0169937a1833d262bdcef83fc6595ccc076cb56.tar.gz
Re: [PATCH] docs more open() and $_ related entries
From: "Gabor Szabo" <szabgab@gmail.com> Message-ID: <d8a74af10801081207q2637419dy59f1a3600bcc4a76@mail.gmail.com> p4raw-id: //depot/perl@32904
Diffstat (limited to 'pod/perlvar.pod')
-rw-r--r--pod/perlvar.pod26
1 files changed, 14 insertions, 12 deletions
diff --git a/pod/perlvar.pod b/pod/perlvar.pod
index 7f65590023..6e62a10689 100644
--- a/pod/perlvar.pod
+++ b/pod/perlvar.pod
@@ -58,14 +58,14 @@ the change may affect other modules which rely on the default values
of the special variables that you have changed. This is one of the
correct ways to read the whole file at once:
- open my $fh, "foo" or die $!;
+ open my $fh, "<", "foo" or die $!;
local $/; # enable localized slurp mode
my $content = <$fh>;
close $fh;
But the following code is quite bad:
- open my $fh, "foo" or die $!;
+ open my $fh, "<", "foo" or die $!;
undef $/; # enable slurp mode
my $content = <$fh>;
close $fh;
@@ -81,7 +81,7 @@ inside some short C<{}> block, you should create one yourself. For
example:
my $content = '';
- open my $fh, "foo" or die $!;
+ open my $fh, "<", "foo" or die $!;
{
local $/;
$content = <$fh>;
@@ -150,10 +150,11 @@ don't use it:
The following functions:
-abs, alarm, chomp chop, chr, chroot, cos, defined, eval, exp, glob,
-hex, int, lc, lcfirst, length, log, lstat, mkdir, ord, pos, print,
-quotemeta, readlink, readpipe, ref, require, reverse, rmdir, sin, split,
-sqrt, stat, study, uc, ucfirst, unlink, unpack.
+abs, alarm, chomp, chop, chr, chroot, cos, defined, eval, exp, glob,
+hex, int, lc, lcfirst, length, log, lstat, mkdir, oct, ord, pos, print,
+quotemeta, readlink, readpipe, ref, require, reverse (in scalar context only),
+rmdir, sin, split (on its second argument), sqrt, stat, study, uc, ucfirst,
+unlink, unpack.
=item *
@@ -163,8 +164,8 @@ See L<perlfunc/-X>
=item *
-The pattern matching operations C<m//>, C<s///>, and C<tr///> when used
-without an C<=~> operator.
+The pattern matching operations C<m//>, C<s///> and C<tr///> (aka C<y///>)
+when used without an C<=~> operator.
=item *
@@ -442,7 +443,7 @@ instead of lines, with the maximum record size being the referenced
integer. So this:
local $/ = \32768; # or \"32768", or \$var_containing_32768
- open my $fh, $myfile or die $!;
+ open my $fh, "<", $myfile or die $!;
local $_ = <$fh>;
will read a record of no more than 32768 bytes from FILE. If you're
@@ -478,7 +479,8 @@ buffered otherwise. Setting this variable is useful primarily when
you are outputting to a pipe or socket, such as when you are running
a Perl program under B<rsh> and want to see the output as it's
happening. This has no effect on input buffering. See L<perlfunc/getc>
-for that. (Mnemonic: when you want your pipes to be piping hot.)
+for that. See L<perldoc/select> on how to select the output channel.
+See also L<IO::Handle>. (Mnemonic: when you want your pipes to be piping hot.)
=item IO::Handle->output_field_separator EXPR
@@ -789,7 +791,7 @@ variable, or in other words, if a system or library call fails, it
sets this variable. This means that the value of C<$!> is meaningful
only I<immediately> after a B<failure>:
- if (open(FH, $filename)) {
+ if (open my $fh, "<", $filename) {
# Here $! is meaningless.
...
} else {