Perl - typy danych

Perl jest językiem o luźnych typach i nie ma potrzeby określania typu danych podczas używania go w programie. Interpreter Perla wybierze typ na podstawie kontekstu samych danych.

Perl ma trzy podstawowe typy danych: skalary, tablice skalarów i skróty skalarów, znane również jako tablice asocjacyjne. Oto kilka szczegółów na temat tych typów danych.

Sr.No. Rodzaje i opis
1

Scalar

Skalary to proste zmienne. Są poprzedzone znakiem dolara ($). Skalar to liczba, łańcuch lub odniesienie. Odsyłacz to właściwie adres zmiennej, o czym przekonamy się w kolejnych rozdziałach.

2

Arrays

Tablice to uporządkowane listy skalarów, do których uzyskujesz dostęp z indeksem numerycznym rozpoczynającym się od 0. Są one poprzedzone znakiem „at” (@).

3

Hashes

Hashe to nieuporządkowane zestawy par klucz / wartość, do których uzyskujesz dostęp używając kluczy jako indeksów. Są poprzedzone znakiem procentu (%).

Literały numeryczne

Perl przechowuje wszystkie liczby wewnętrznie jako liczby całkowite ze znakiem lub wartości zmiennoprzecinkowe o podwójnej precyzji. Literały liczbowe są określane w dowolnym z następujących formatów zmiennoprzecinkowych lub całkowitych -

Rodzaj Wartość
Liczba całkowita 1234
Ujemna liczba całkowita -100
Punkt zmiennoprzecinkowy 2000
Notacja naukowa 16.12E14
Szesnastkowy 0xffff
Ósemkowe 0577

Literały strunowe

Łańcuchy to sekwencje znaków. Zwykle są to wartości alfanumeryczne oddzielone cudzysłowami pojedynczymi (') lub podwójnymi ("). Działają podobnie jak cudzysłowy powłoki UNIX, w których można używać ciągów w pojedynczych cudzysłowach i podwójnych cudzysłowów.

Literały łańcuchowe w podwójnych cudzysłowach pozwalają na interpolację zmiennych, a ciągi w apostrofach nie. Istnieją pewne znaki poprzedzone ukośnikiem, mają specjalne znaczenie i są używane do reprezentacji jak nowa linia (\ n) lub tabulacja (\ t).

Możesz osadzić znaki nowej linii lub dowolną z poniższych sekwencji Escape bezpośrednio w swoich podwójnych cudzysłowach -

Sekwencja ewakuacyjna Znaczenie
\\ Ukośnik wsteczny
\ ' Pojedynczy cudzysłów
\ " Cudzysłów
\za Alert lub dzwonek
\b Backspace
\fa Form feed
\ n Nowa linia
\ r Powrót karetki
\ t Zakładka pozioma
\ v Zakładka pionowa
\ 0nn Tworzy liczby w formacie ósemkowym
\ xnn Tworzy liczby w formacie szesnastkowym
\ cX Znaki kontrolne, x może być dowolnym znakiem
\ u Wymusza następną wielką literę
\ l Wymusza na następnym znaku małe litery
\ U Wymusza pisanie wielkich liter we wszystkich kolejnych znakach
\ L Wymusza na wszystkich kolejnych znakach małe litery
\ Q Wszystkie kolejne znaki niealfanumeryczne należy ułożyć ukośnikiem odwrotnym
\MI End \ U, \ L lub \ Q

Przykład

Zobaczmy ponownie, jak zachowują się ciągi znaków w przypadku pojedynczego cudzysłowu i podwójnego cudzysłowu. Tutaj użyjemy znaków ucieczki wymienionych w powyższej tabeli i użyjemy zmiennej skalarnej do przypisania wartości łańcuchowych.

#!/usr/bin/perl

# This is case of interpolation.
$str = "Welcome to \ntutorialspoint.com!";
print "$str\n";

# This is case of non-interpolation.
$str = 'Welcome to \ntutorialspoint.com!';
print "$str\n";

# Only W will become upper case.
$str = "\uwelcome to tutorialspoint.com!";
print "$str\n";

# Whole line will become capital.
$str = "\UWelcome to tutorialspoint.com!";
print "$str\n";

# A portion of line will become capital.
$str = "Welcome to \Ututorialspoint\E.com!"; 
print "$str\n";

# Backsalash non alpha-numeric including spaces.
$str = "\QWelcome to tutorialspoint's family";
print "$str\n";

To da następujący wynik -

Welcome to
tutorialspoint.com!
Welcome to \ntutorialspoint.com!
Welcome to tutorialspoint.com!
WELCOME TO TUTORIALSPOINT.COM!
Welcome to TUTORIALSPOINT.com!
Welcome\ to\ tutorialspoint\'s\ family