KWALIFIKACJA PGF4 - STYCZEŃ 2016

PYTANIE NR 34.
Którym znakiem zawartym w cudzysłowie musi kończyć się każda komenda w języku skryptowym Perl?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W Perlu standardowe instrukcje (statements) zapisuje się z terminatorem w postaci średnika.
Dlatego poprawnym znakiem kończącym komendę jest ";". Przecinek, dwukropek ani kropka pełnią w Perlu inne role składniowe i nie są typowym zakończeniem instrukcji.

Pełne wyjaśnienie:

W języku Perl większość instrukcji (tzw. statements) kończy się średnikiem. Średnik pełni rolę terminatora: informuje interpreter, gdzie kończy się jedna instrukcja, a zaczyna następna. Dzięki temu Perl może jednoznacznie analizować kod, nawet gdy w jednym wierszu znajduje się więcej niż jedna instrukcja albo gdy instrukcja jest zapisana w kilku liniach.

Odpowiedź ";" jest więc właściwa, ponieważ odpowiada podstawowej regule składni Perla dla typowych poleceń, takich jak przypisania, wywołania funkcji czy proste wyrażenia wykonywalne.

Pozostałe znaki są mylące, bo w tekście naturalnym także "zamykają" zdania, ale w Perlu mają inne znaczenia:

  • "," (przecinek) służy m.in. do rozdzielania elementów listy lub argumentów funkcji; nie kończy instrukcji.
  • ":" (dwukropek) występuje w określonych konstrukcjach (np. jako element operatorów lub składni etykiet), ale nie jest standardowym terminatorem poleceń.
  • "." (kropka) jest m.in. operatorem konkatenacji napisów; również nie zamyka instrukcji.

W praktyce egzaminacyjnej warto pamiętać o rozróżnieniu: średnik kończy instrukcję, natomiast nawiasy klamrowe { } domykają blok kodu. To pomaga uniknąć typowej pomyłki polegającej na traktowaniu "końca linii" lub "kropki" jako końca polecenia.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Średnik w Perlu jest najczęściej terminatorem instrukcji (statement). Oznacza koniec polecenia wykonywalnego, np. przypisania lub wywołania funkcji. Dzięki temu interpreter wie, gdzie kończy się jedna instrukcja, nawet jeśli w jednej linii są dwie.
Średnik rozdziela instrukcje i ułatwia parserowi Perla jednoznaczną analizę kodu. Bez niego interpreter mógłby błędnie łączyć fragmenty w jedną instrukcję albo zgłaszać błąd składni. To szczególnie ważne, gdy łamiesz linię lub piszesz kilka instrukcji w jednym wierszu.
Zwykle tak dla typowych instrukcji, ale są sytuacje, gdzie końcem konstrukcji jest np. domknięcie bloku { } (np. po if z blokiem). W nauce do egzaminu przyjmij zasadę: większość poleceń kończysz ";", a wyjątki rozpoznajesz po składni bloków.
Instrukcja to pojedyncze polecenie wykonywalne (np. przypisanie, wywołanie funkcji) i zwykle kończy się średnikiem. Blok to grupa instrukcji ujęta w klamry { }, często po if/while/for. Klamry zamykają blok, a średniki zamykają pojedyncze instrukcje w środku.
Najczęściej interpreter zgłosi błąd składni (syntax error) albo wskaże miejsce, w którym "spodziewał się" średnika. Czasem komunikat pojawia się dopiero w kolejnej linii, bo Perl próbuje dalej analizować kod. To typowy błąd początkujących i częsty powód nieuruchamiania skryptu.
Nie. Przecinek w Perlu służy głównie do rozdzielania elementów listy lub argumentów (np. w wywołaniu funkcji). Nie jest terminatorem instrukcji, więc nie "zamyka" polecenia. Jeśli po przecinku nie ma dalszej składni, dostaniesz błąd lub nieoczekiwane działanie.
Dwukropek pojawia się w wybranych konstrukcjach, np. w operatorze warunkowym (część "else") albo w kontekście etykiet. Nie jest jednak znakiem kończącym instrukcję. Na egzaminie łatwo go pomylić ze średnikiem, bo oba są znakami interpunkcyjnymi.
Kropka w Perlu jest operatorem konkatenacji, czyli łączenia napisów (stringów). Używa się jej wewnątrz wyrażeń, a nie jako zakończenia polecenia. Instrukcję kończy średnik, niezależnie od tego, czy w środku używasz kropki do sklejania tekstu.
Najczęstsze to: brak średnika na końcu instrukcji, mylenie przecinka ze średnikiem w listach, niezamknięte nawiasy lub klamry oraz błędy w cudzysłowach. Pomaga nawyk: po każdej prostej instrukcji dopisz ";" i sprawdź pary nawiasów.
Perl bywa używany do automatyzacji pracy z dużą liczbą plików: zmiana nazw serii zdjęć, sortowanie do katalogów, generowanie list/raportów, uruchamianie zewnętrznych narzędzi w pętli. W takich skryptach poprawne kończenie instrukcji średnikiem jest kluczowe dla działania.
info

To pytanie poprawnie rozwiązuje 80% zdających egzamin. średnio łatwe

Według specjalistów z branży: "W Perlu standardowe instrukcje (statements) zapisuje się z terminatorem w postaci średnika.Dlatego poprawnym znakiem kończącym komendę jest ";"."

Źródła:

  • Perl 5 Documentation: perlsyn (Perl syntax) – statement terminators (semicolon), https://perldoc.perl.org/perlsyn (accessed 2026-03-01)
  • Perl 5 Documentation: perlfunc – examples showing statements terminated with semicolons, https://perldoc.perl.org/perlfunc (accessed 2026-03-01)
  • Schwartz, Phoenix, Foy: "Learning Perl" (O'Reilly) – rozdziały wprowadzające o składni instrukcji i średnikach (wydanie zależne od dostępnej wersji podręcznika)

Materiały:

  • Dokumentacja Perla (perldoc) – składnia (perlsyn)
  • Podręcznik "Learning Perl" (podstawy składni i instrukcji)
  • Krótkie ćwiczenia: przepisywanie i uruchamianie prostych skryptów z użyciem średników

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego