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.