From: Abhijit Menon-Sen Date: Sat, 23 Jun 2001 05:17:44 +0000 (+0530) Subject: Re: [ID 20010621.007] readline() not quite as equal as <> X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=61f0cdd9885ca72a53889bd33543b33aca44d764;p=p5sagit%2Fp5-mst-13.2.git 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 --- diff --git a/opcode.pl b/opcode.pl index 2f4a7fd..8defa67 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 ck_null t% +readline 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 67c305c..0451232 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -3596,12 +3596,13 @@ C 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. +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. When C<$/> is set to C, 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<< >> operator is discussed in more detail in L. $line = ; + $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 99b22ef..e2d0913 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 faa8bba..76be79b 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)))