Perl - przegląd składni
Perl zapożycza składnię i koncepcje z wielu języków: awk, sed, C, Bourne Shell, Smalltalk, Lisp, a nawet z angielskiego. Istnieją jednak pewne wyraźne różnice między językami. Ten rozdział ma na celu szybkie zapoznanie Cię ze składnią, której oczekuje się w Perlu.
Program w Perlu składa się z sekwencji deklaracji i instrukcji, które biegną od góry do dołu. Pętle, podprogramy i inne struktury sterujące umożliwiają przeskakiwanie w obrębie kodu. Każda prosta instrukcja musi kończyć się średnikiem (;).
Perl to język o dowolnej formie: możesz go formatować i wcinać, jak chcesz. Białe znaki służą głównie do oddzielania tokenów, w przeciwieństwie do języków takich jak Python, gdzie jest ważną częścią składni, lub Fortran, gdzie jest nieistotny.
Pierwszy program w Perlu
Programowanie w trybie interaktywnym
Możesz użyć interpretera Perla z -eopcja w wierszu poleceń, która umożliwia wykonywanie instrukcji Perl z wiersza poleceń. Spróbujmy czegoś po znaku zachęty $ w następujący sposób -
$perl -e 'print "Hello World\n"'
To wykonanie da następujący wynik -
Hello, world
Programowanie w trybie skryptowym
Zakładając, że jesteś już w znaku zachęty $, otwórzmy plik tekstowy hello.pl za pomocą edytora vi lub vim i umieść następujące linie wewnątrz pliku.
#!/usr/bin/perl
# This will print "Hello, World"
print "Hello, world\n";
Tutaj /usr/bin/perljest w rzeczywistości binarnym interpretera perla. Zanim wykonasz skrypt, upewnij się, że zmieniłeś tryb pliku skryptu i nadaj uprawnienia do wykonywania, ogólnie ustawienie 0755 działa idealnie i na koniec wykonujesz powyższy skrypt w następujący sposób -
$chmod 0755 hello.pl
$./hello.pl
To wykonanie da następujący wynik -
Hello, world
Możesz użyć nawiasów dla argumentów funkcji lub pominąć je według własnego gustu. Są one wymagane tylko od czasu do czasu, aby wyjaśnić kwestie dotyczące pierwszeństwa. Kolejne dwie instrukcje dają ten sam wynik.
print("Hello, world\n");
print "Hello, world\n";
Rozszerzenie pliku Perl
Skrypt Perla można utworzyć w dowolnym zwykłym edytorze tekstu prostego. Istnieje kilka programów dostępnych dla każdego typu platformy. Istnieje wiele programów przeznaczonych dla programistów do pobrania w sieci.
Zgodnie z konwencją Perla, plik Perla musi być zapisany z rozszerzeniem .pl lub .PL, aby został rozpoznany jako działający skrypt Perla. Nazwy plików mogą zawierać cyfry, symbole i litery, ale nie mogą zawierać spacji. Użyj podkreślenia (_) w miejscach spacji.
Komentarze w Perlu
Komentarze w dowolnym języku programowania są przyjaciółmi programistów. Komentarze mogą być używane w celu uczynienia programu przyjaznym dla użytkownika i są po prostu pomijane przez interpretera bez wpływu na funkcjonalność kodu. Na przykład w powyższym programie linia zaczynająca się od hasha# to komentarz.
Po prostu mówiąc, komentarze w Perlu zaczynają się od symbolu krzyżyka i biegną do końca wiersza -
# This is a comment in perl
Wiersze zaczynające się od = są interpretowane jako początek sekcji osadzonej dokumentacji (pod), a wszystkie kolejne wiersze aż do elementu next = cut są ignorowane przez kompilator. Oto przykład -
#!/usr/bin/perl
# This is a single line comment
print "Hello, world\n";
=begin comment
This is all part of multiline comment.
You can use as many lines as you like
These comments will be ignored by the
compiler until the next =cut is encountered.
=cut
To da następujący wynik -
Hello, world
Białe spacje w Perlu
Program w Perlu nie dba o białe znaki. Poniższy program działa doskonale -
#!/usr/bin/perl
print "Hello, world\n";
Ale jeśli spacje znajdują się wewnątrz cytowanych ciągów, zostaną wydrukowane tak, jak są. Na przykład -
#!/usr/bin/perl
# This would print with a line break in the middle
print "Hello
world\n";
To da następujący wynik -
Hello
world
Wszystkie rodzaje białych znaków, takie jak spacje, tabulatory, znaki nowej linii itp., Są równoważne interpreterowi, jeśli są używane poza cudzysłowami. Linia zawierająca tylko białe spacje, ewentualnie z komentarzem, jest nazywana pustą linią i Perl całkowicie ją ignoruje.
Pojedyncze i podwójne cytaty w Perlu
Możesz używać podwójnych cudzysłowów lub pojedynczych cudzysłowów wokół ciągów literałów w następujący sposób -
#!/usr/bin/perl
print "Hello, world\n";
print 'Hello, world\n';
To da następujący wynik -
Hello, world
Hello, world\n$
Istnieje ważna różnica między pojedynczymi i podwójnymi cudzysłowami. Tylko cudzysłowyinterpolatezmienne i znaki specjalne, takie jak znaki nowej linii \ n, podczas gdy pojedynczy cudzysłów nie interpoluje żadnej zmiennej ani znaku specjalnego. Sprawdź poniższy przykład, w którym używamy $ a jako zmiennej do przechowywania wartości, a później drukujemy tę wartość -
#!/usr/bin/perl
$a = 10;
print "Value of a = $a\n";
print 'Value of a = $a\n';
To da następujący wynik -
Value of a = 10
Value of a = $a\n$
Dokumenty „Tutaj”
Możesz wygodnie przechowywać lub drukować tekst wielowierszowy. Nawet ty możesz użyć zmiennych wewnątrz dokumentu „tutaj”. Poniżej znajduje się prosta składnia, sprawdź dokładnie, czy nie może być spacji między znakiem << a identyfikatorem.
Identyfikator może być gołym słowem lub cytowanym tekstem, tak jak użyliśmy poniżej EOF. Jeśli identyfikator jest cytowany, rodzaj cytatu, którego użyjesz, określa sposób traktowania tekstu wewnątrz tego dokumentu, tak jak w zwykłym cytowaniu. Identyfikator bez cudzysłowu działa jak cudzysłowy.
#!/usr/bin/perl
$a = 10;
$var = <<"EOF";
This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be
interpolated. For example value of a = $a
EOF
print "$var\n";
$var = <<'EOF';
This is case of single quote so variable value will be
interpolated. For example value of a = $a
EOF
print "$var\n";
To da następujący wynik -
This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be
interpolated. For example value of a = 10
This is case of single quote so variable value will be
interpolated. For example value of a = $a
Uciekające postacie
Perl używa znaku ukośnika odwrotnego (\) do zmiany znaczenia dowolnego typu znaku, który może kolidować z naszym kodem. Weźmy jeden przykład, w którym chcemy wypisać podwójny cudzysłów i znak $ -
#!/usr/bin/perl
$result = "This is \"number\"";
print "$result\n";
print "\$result\n";
To da następujący wynik -
This is "number"
$result
Identyfikatory Perla
Identyfikator Perla to nazwa używana do identyfikacji zmiennej, funkcji, klasy, modułu lub innego obiektu. Nazwa zmiennej Perla zaczyna się od $, @ lub%, po których następuje zero lub więcej liter, podkreśleń i cyfr (od 0 do 9).
Perl nie zezwala na znaki interpunkcyjne, takie jak @, $ i% w identyfikatorach. Perl jestcase sensitivejęzyk programowania. A zatem$Manpower i $manpower to dwa różne identyfikatory w Perlu.