Perl - zmienne

Zmienne to zarezerwowane miejsca w pamięci do przechowywania wartości. Oznacza to, że kiedy tworzysz zmienną, rezerwujesz trochę miejsca w pamięci.

Na podstawie typu danych zmiennej interpreter przydziela pamięć i decyduje, co może być przechowywane w zarezerwowanej pamięci. Dlatego przypisując różne typy danych do zmiennych, można przechowywać w tych zmiennych liczby całkowite, dziesiętne lub łańcuchy.

Dowiedzieliśmy się, że Perl ma następujące trzy podstawowe typy danych -

  • Scalars
  • Arrays
  • Hashes

W związku z tym będziemy używać trzech typów zmiennych w Perlu. ZAscalarzmienna będzie poprzedzona znakiem dolara ($) i może przechowywać liczbę, ciąg znaków lub referencję. Naarrayzmienna będzie poprzedzona znakiem @ i będzie przechowywać uporządkowane listy skalarów. W końcuHash zmienna będzie poprzedzona znakiem% i będzie używana do przechowywania zestawów par klucz / wartość.

Perl utrzymuje każdy typ zmiennej w oddzielnej przestrzeni nazw. Możesz więc, bez obawy o konflikt, użyć tej samej nazwy dla zmiennej skalarnej, tablicy lub skrótu. Oznacza to, że $ foo i @foo to dwie różne zmienne.

Tworzenie zmiennych

Zmienne Perla nie muszą być jawnie deklarowane, aby zarezerwować miejsce w pamięci. Deklaracja jest wykonywana automatycznie po przypisaniu wartości do zmiennej. Znak równości (=) służy do przypisywania wartości zmiennym.

Zwróć uwagę, że jest to obowiązkowe, aby zadeklarować zmienną przed jej użyciem, jeśli używamy use strict oświadczenie w naszym programie.

Operand po lewej stronie operatora = to nazwa zmiennej, a operand po prawej stronie operatora = to wartość przechowywana w zmiennej. Na przykład -

$age = 25;             # An integer assignment
$name = "John Paul";   # A string 
$salary = 1445.50;     # A floating point

Tutaj 25, „John Paul” i 1445,50 to wartości przypisane odpowiednio do zmiennych $ age , $ name i $ płac . Wkrótce zobaczymy, jak możemy przypisać wartości do tablic i skrótów.

Zmienne skalarne

Skalar to pojedyncza jednostka danych. Te dane mogą być liczbą całkowitą, zmiennoprzecinkową, znakiem, łańcuchem, akapitem lub całą stroną internetową. Mówiąc prosto, może to być cokolwiek, ale tylko jedna rzecz.

Oto prosty przykład użycia zmiennych skalarnych -

#!/usr/bin/perl

$age = 25;             # An integer assignment
$name = "John Paul";   # A string 
$salary = 1445.50;     # A floating point

print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";

To da następujący wynik -

Age = 25
Name = John Paul
Salary = 1445.5

Zmienne tablicowe

Tablica to zmienna przechowująca uporządkowaną listę wartości skalarnych. Zmienne tablicowe są poprzedzone znakiem „at” (@). Aby odnieść się do pojedynczego elementu tablicy, użyjesz znaku dolara ($) z nazwą zmiennej, po której nastąpi indeks elementu w nawiasach kwadratowych.

Oto prosty przykład użycia zmiennych tablicowych -

#!/usr/bin/perl

@ages = (25, 30, 40);             
@names = ("John Paul", "Lisa", "Kumar");

print "\$ages[0] = $ages[0]\n";
print "\$ages[1] = $ages[1]\n";
print "\$ages[2] = $ages[2]\n";
print "\$names[0] = $names[0]\n";
print "\$names[1] = $names[1]\n";
print "\$names[2] = $names[2]\n";

Tutaj użyliśmy znaku ucieczki (\) przed znakiem $, aby go wydrukować. Inne Perl zrozumie to jako zmienną i wypisze jej wartość. Po uruchomieniu da to następujący wynik -

$ages[0] = 25
$ages[1] = 30
$ages[2] = 40
$names[0] = John Paul
$names[1] = Lisa
$names[2] = Kumar

Hash Variables

Hash to zestaw key/valuepary. Zmienne z haszowaniem są poprzedzone znakiem procentu (%). Aby odwołać się do pojedynczego elementu hasha, użyjesz nazwy zmiennej hash, po której nastąpi „klucz” powiązany z wartością w nawiasach klamrowych.

Oto prosty przykład użycia zmiennych hash -

#!/usr/bin/perl

%data = ('John Paul', 45, 'Lisa', 30, 'Kumar', 40);

print "\$data{'John Paul'} = $data{'John Paul'}\n";
print "\$data{'Lisa'} = $data{'Lisa'}\n";
print "\$data{'Kumar'} = $data{'Kumar'}\n";

To da następujący wynik -

$data{'John Paul'} = 45
$data{'Lisa'} = 30
$data{'Kumar'} = 40

Zmienny kontekst

Perl traktuje tę samą zmienną inaczej w zależności od kontekstu, tj. Sytuacji, w której zmienna jest używana. Sprawdźmy następujący przykład -

#!/usr/bin/perl

@names = ('John Paul', 'Lisa', 'Kumar');

@copy = @names;
$size = @names;

print "Given names are : @copy\n";
print "Number of names are : $size\n";

To da następujący wynik -

Given names are : John Paul Lisa Kumar
Number of names are : 3

Tutaj @names to tablica, która była używana w dwóch różnych kontekstach. Najpierw skopiowaliśmy go do innej tablicy, tj. Listy, więc zwróciło wszystkie elementy, zakładając, że kontekst jest kontekstem listy. Następnie użyliśmy tej samej tablicy i próbowaliśmy zapisać tę tablicę w postaci skalarnej, więc w tym przypadku zwróciła ona tylko liczbę elementów w tej tablicy, zakładając, że kontekst jest kontekstem skalarnym. Poniższa tabela zawiera listę różnych kontekstów -

Sr.No. Kontekst i opis
1

Scalar

Przypisanie do zmiennej skalarnej oblicza prawą stronę w kontekście skalarnym.

2

List

Przypisanie do tablicy lub skrótu oblicza prawą stronę w kontekście listowym.

3

Boolean

Kontekst logiczny to po prostu każde miejsce, w którym wyrażenie jest oceniane, aby sprawdzić, czy jest prawdziwe, czy fałszywe.

4

Void

W tym kontekście nie tylko nie obchodzi, jaka jest wartość zwracana, ale nawet nie chce wartości zwracanej.

5

Interpolative

Ten kontekst ma miejsce tylko w cudzysłowach lub rzeczach, które działają jak cudzysłowy.