http://perl.lt/getc :: /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.



2005.04.11 - 2012.05.21 © algirdas@perl.lt