summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhijit Menon-Sen <ams@wiw.org>2001-06-23 10:47:44 +0530
committerJarkko Hietaniemi <jhi@iki.fi>2001-06-25 00:09:27 +0000
commit61f0cdd9885ca72a53889bd33543b33aca44d764 (patch)
tree7bd03b4c5c1d68fd8a9b082f9d81e2294b02cf2a
parente857312dd102d758f6e24ed55e3872103367ebf5 (diff)
downloadperl-61f0cdd9885ca72a53889bd33543b33aca44d764.tar.gz
Re: [ID 20010621.007] readline() not quite as equal as <>
Message-ID: <20010623051744.A18583@lustre.linux.in> (Can't think of a good place to put tests.) p4raw-id: //depot/perl@10910
-rwxr-xr-xopcode.pl2
-rw-r--r--pod/perlfunc.pod14
-rwxr-xr-xt/op/flip.t2
-rw-r--r--toke.c2
4 files changed, 11 insertions, 9 deletions
diff --git a/opcode.pl b/opcode.pl
index 2f4a7fda36..8defa67ea0 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -444,7 +444,7 @@ bless bless ck_fun s@ S S?
backtick quoted execution (``, qx) ck_open t%
# glob defaults its first arg to $_
glob glob ck_glob t@ S?
-readline <HANDLE> ck_null t%
+readline <HANDLE> ck_fun t% F
rcatline append I/O operator ck_null t%
# Bindable operators.
diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod
index 67c305ca6b..0451232faf 100644
--- a/pod/perlfunc.pod
+++ b/pod/perlfunc.pod
@@ -3596,12 +3596,13 @@ C<chdir> there, it would have been testing the wrong file.
=item readline EXPR
-Reads from the filehandle whose typeglob is contained in EXPR. In scalar
-context, each call reads and returns the next line, until end-of-file is
-reached, whereupon the subsequent call returns undef. In list context,
-reads until end-of-file is reached and returns a list of lines. Note that
-the notion of "line" used here is however you may have defined it
-with C<$/> or C<$INPUT_RECORD_SEPARATOR>). See L<perlvar/"$/">.
+Reads from the filehandle EXPR. The EXPR can be either the name of
+the handle or the typeglob for it. In scalar context, each call reads
+and returns the next line, until end-of-file is reached, whereupon the
+subsequent call returns undef. In list context, reads until
+end-of-file is reached and returns a list of lines. Note that the
+notion of "line" used here is however you may have defined it with
+C<$/> or C<$INPUT_RECORD_SEPARATOR>). See L<perlvar/"$/">.
When C<$/> is set to C<undef>, when readline() is in scalar
context (i.e. file slurp mode), and when an empty file is read, it
@@ -3612,6 +3613,7 @@ operator, but you can use it directly. The C<< <EXPR> >>
operator is discussed in more detail in L<perlop/"I/O Operators">.
$line = <STDIN>;
+ $line = readline(STDIN); # same thing
$line = readline(*STDIN); # same thing
=item readlink EXPR
diff --git a/t/op/flip.t b/t/op/flip.t
index 99b22eff94..e2d09138bf 100755
--- a/t/op/flip.t
+++ b/t/op/flip.t
@@ -32,5 +32,5 @@ if (($x...$x) eq "1") {print "ok 9\n";} else {print "not ok 9\n";}
# coredump reported in bug 20001018.008
readline(UNKNOWN);
$. = 1;
- print "ok 10\n" unless 1 .. 10;
+ print "ok 10\n" if 1 .. 10;
}
diff --git a/toke.c b/toke.c
index faa8bba1f4..76be79bfe6 100644
--- a/toke.c
+++ b/toke.c
@@ -43,7 +43,7 @@ static I32 utf16rev_textfilter(pTHXo_ int idx, SV *sv, int maxlen);
#define UTF ((PL_linestr && DO_UTF8(PL_linestr)) || (PL_hints & HINT_UTF8))
#endif
-/* In variables name $^X, these are the legal values for X.
+/* In variables named $^X, these are the legal values for X.
* 1999-02-27 mjd-perl-patch@plover.com */
#define isCONTROLVAR(x) (isUPPER(x) || strchr("[\\]^_?", (x)))