Perl/Operacje wejścia/wyjścia

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania
Poprzedni rozdział: Hasze
Spis treści
Następny rozdział: Instrukcja kontrolna if

Wejście i wyjście[edytuj]

Definicja
I/O: oznacza Input/Output (wejście/wyjście), potrzebne w prawie każdym programie.

Wyjście[edytuj]

Wiesz już jak wysłać coś na wyjście używając instrukcji print. Jeśli potrzebujesz przypomnienia:

print "Hello World\n";
 
print $scalar;

To, co naprawdę robi instrukcja print to drukowanie na STDOUT, co oznacza standardowe wyjście. Później, kiedy dowiesz się o uchwytach plików, odkryjesz, że STDOUT może być zmienione tak, by użycie print drukowało do pliku. Jednak na razie nauczmy się o wejściu.

Wejście[edytuj]

Jak już może sobie wyobrażasz, jest bardzo ciężko napisać dobry program bez żadnego rodzaju wejścia. W tej części nauczysz się, jak poprosić o wejście od użytkownika, dzięki czemu będziesz w stanie pokierować wykonaniem swojego programu. Zobaczmy przykładowy program:

#!/usr/bin/perl
 
use warnings;
 
print "Jakie jest twoje imie?\n";
$imie = <STDIN>;
print "Twoje imie to $imie";

Przeanalizujmy wszystko po kolei:

  • Wiesz wszystko aż do linijki $imie = <STDIN>;.
  • $imie = <STDIN>;
    • Zmienna skalarna jest znajoma, ale <STDIN> jest nowe.
    • <STDIN> oznacza standardowe wejście. To, co robimy w tej linii to pobieranie linijki ze standardowego wejścia i umieszczenie jej w zmiennej $imie. Standardowe wejście jest zazwyczaj klawiaturą, choć można to też zmienić.

Spróbuj!
Spróbuj uruchomić powyższy program i zobaczyć, co się stanie.

Zauważ < i > otaczające STDIN. Jest to operator wejścia lub operator diamentu. Pobiera jedną linijkę danych z podanego uchwytu pliku. To, co naprawdę robimy pisząc $imie = <STDIN>;, to pobieranie jednej linijki tekstu z klawiatury.

Ćwiczenia[edytuj]

  • Napisz program, który pyta użytkownika o liczbę i zwraca tę liczbę pomnożoną przez cztery (lub dowolną inną liczbę).
Poprzedni rozdział: Hasze
Spis treści
Następny rozdział: Instrukcja kontrolna if