Cari di Perl 
    Perl User Manual
Daftar Isi
(Sebelumnya) Get a directory from a directo ...Reset directory handle (Berikutnya)
Input and output functions

Fetch a record from a file

Daftar Isi

  • readline EXPR
  • readline

    Reads from the filehandle whose typeglob is contained in EXPR (or from*ARGV if EXPR is not provided). In scalar context, each call reads andreturns the next line until end-of-file is reached, whereupon thesubsequent call returns undef. In list context, reads until end-of-fileis reached and returns a list of lines. Note that the notion of "line"used here is whatever you may have defined with $/ or$INPUT_RECORD_SEPARATOR). See $/ in perlvar.

    When $/ is set to undef, when readline is in scalarcontext (i.e., file slurp mode), and when an empty file is read, itreturns '' the first time, followed by undef subsequently.

    This is the internal function implementing the <EXPR>operator, but you can use it directly. The <EXPR>operator is discussed in more detail in I/O Operators in perlop.

    1. $line = <STDIN>;
    2. $line = readline(*STDIN); # same thing

    If readline encounters an operating system error, $! will be setwith the corresponding error message. It can be helpful to check$! when you are reading from filehandles you don't trust, such as atty or a socket. The following example uses the operator form ofreadline and dies if the result is not defined.

    1. while ( ! eof($fh) ) {
    2. defined( $_ = <$fh> ) or die "readline failed: $!";
    3. ...
    4. }

    Note that you have can't handle readline errors that way with theARGV filehandle. In that case, you have to open each element of@ARGV yourself since eof handles ARGV differently.

    1. foreach my $arg (@ARGV) {
    2. open(my $fh, $arg) or warn "Can't open $arg: $!";
    3. while ( ! eof($fh) ) {
    4. defined( $_ = <$fh> )
    5. or die "readline failed for $arg: $!";
    6. ...
    7. }
    8. }
 
Source : perldoc.perl.org - Official documentation for the Perl programming language
Site maintained by Jon Allen (JJ)     See the project page for more details
Documentation maintained by the Perl 5 Porters
(Sebelumnya) Get a directory from a directo ...Reset directory handle (Berikutnya)