_  _   ,_
/^\/^\-/ @D
~(________/ PERL.LT
|L |L
L L
Straipsniai  Funkcijos 
Funkcijos/readline - pasiimti įrašą iš failo
  • readline EXPR

    Nuskaito iš failo valdiklio, kurio typeglob yra aprašytas EXPR. Skaliariniame kontekste, kiekvienas iškvietimas nuskaito ir gražina kitą eilutę, kol pasiekiama failo pabaiga, po ko sekanttis kvietimas gražina neapibrėžtumą. Sąrašo kontekste, nuskaitoma iki failo pabaigos ir gražinamas eilučių sąrašas. Įsidėmėkite, kad sąvoka "eilutė", naudojama čia yra naudojama kaip kad nustatyta $/ arba $INPUT_RECORD_SEPARATOR ). Žr. "$/" perlvar'e.

    Kai $/ nustatytas undef, kai readline() yra skaliariniame kontekste (t.y. failo šliurpimo režime) ir kai perskaitomas tuščias failas, gražina pirmą kartą '', o po jo seka undef.

    Tai vidinė funkcija, įdiegianti <EXPR> operatorių, bet taip pat galimas ir tiesioginis panaudojimas. <EXPR> operatorius detaliau aptariamas "I/O Operators" perlop'e.

        $line = <STDIN>;
        $line = readline(*STDIN);		# tas pats

    Jei aptinkama operacinės sistemos klaida, $! bus nustatytas su atitinkama klaidos žinute. Tad naudinga patikrint $!, kai nuskaitoma nuo failų valdiklių, kuriais nepasitikima kaip kad tty ar socket'as. Sekantis pavyzdys naudoja readline operatoriaus formą ir atlieka būtinus žingsnius užtikrinti, kad readline pavyktų.

        for (;;) {
            undef $!;
            unless (defined( $line = <> )) {
                die $! if $!;
                last; # pasiektas EOF
            }
            # ...
        }
algirdas@perl.lt 2005.04.11 - $dabar