_  _   ,_
/^\/^\-/ @D
~(________/ PERL.LT
|L |L
L L
Straipsniai  Funkcijos 
Funkcijos/getc - pasiima sekantį simbolį iš filehandle'o
  • getc FILEHANDLE
  • getc

    Gražina kitą simbolį iš įvesties failo, prijungto prie FILEHANDLE arba neapibrėžtą reikšmę failo gale, arba jei buvo klaida (pastaruoju atveju nustatytas $!). Jei FILEHANDLE praleistas, nuskaitymas vyksta iš STDIN. Tai nėra ypatingai efektyvu. Šiaip ar taip, negalima nuskaityti vieno simbolio, nepalaukus kol vartotojas paspaus enter. Tokiam atvejui reiktų mėginti kažką tokio:

        if ($BSD_STYLE) {
    	system "stty cbreak </dev/tty >/dev/tty 2>&1";
        }
        else {
    	system "stty", '-icanon', 'eol', "\001";
        }
        $key = getc(STDIN);
        if ($BSD_STYLE) {
    	system "stty -cbreak </dev/tty >/dev/tty 2>&1";
        }
        else {
    	system "stty", 'icanon', 'eol', '^@'; # ASCII null
        }
        print "\n";

    Sprendimas ar $BSD_STYLE turėtų būti nustatytas tebūnie pratimas skaitančiajam.

    POSIX::getattr funkcija gali tai įvykdyti portabiliau sistemose, palaikančiose POSIX. Taip pat žr. Term::ReadKey modulį iš artimiausio CPAN saito; detalesnė informacija apie CPAN gali būti randama "CPAN" perlmodlib'e.

algirdas@perl.lt 2005.04.11 - $dabar