NejjednoduÜÜφ prom∞nnß v Perlu je skalßrnφ prom∞nnß. Skalßrnφ prom∞nnß m∙₧e obsahovat °et∞zec nebo Φφslo.Typ prom∞nnΘ je dßn jejφm obsahem. Prom∞nnß se nedefinuje p°edem, ale vznikß p°i prvnφm pou₧itφ.
JmΘno prom∞nnΘ je °et∞zec zaΦφnajφcφ znakem $.
P°φklad:
$priorita = 9;p°i°adφ skalßrnφ prom∞nnΘ $priorita hodnotu 9, ale stejnΘ prom∞nnΘ m∙₧ete potΘ p°i°adit °et∞zec:
$priorita = 'vysoka';Perl akceptuje Φφsla a °et∞zce takto:
$pocet = 10; # integer $pi = 3.14159; # Φφslo s deset. Φßrkou $num = 6.02e23; # Φφslo ve v∞deckΘm formßtu $barva = 'cervena'; # °et∞zec $veta = "$jmeno je doma"; # °et∞zec s dosazenφm $prikaz = `pwd`; # p°φkaza umφ tyto prom∞nnΘ pou₧φt v operacφch.
JmΘno prom∞nnΘ m∙₧e b²t tvo°eno Φφslicemi, pφsmeny a podtr₧φtkem, ale nesmφ zaΦφnat Φφslicφ. V Perlu exituje °ada specißlnφch prom∞nn²ch, kterΘ majφ vyhrazenΘ jmΘno. Jedna z nejΦast∞ji pou₧φvan²ch specißlnφch prom∞nn²ch je $_. Tyto specißlnφ prom∞nnΘ uvedeme pozd∞ji. Perl je case sensitive,to znamenß, ₧e $a a $A jsou dv∞ r∙znΘ prom∞nnΘ.
$a = 1 + 2; # souΦet 1 a 2 ulo₧φ do $a $a = 3 - 4; # odeΦte 4 od 3 a v²sledek ulo₧φ do $a $a = 5 * 6; # vynßsobφ 5 krßt 6 $a = 7 / 8; # d∞lφ 7 : 8 v²sledek 0.875 ulo₧φ do $a $a = 9 ** 10; # 9 umocnφ na 10 $a = 5 % 2; # zbytek po d∞lenφ 5 : 2 (modulo d∞lenφ) ++$a; # zv²Üφ $a a vrßtφ hodnotu, nap°. pokud $a=1; $b=++$a; # pak $b = 2, $a = 2 $a++; # vrßtφ hodnotu $a a pak ji zv²Üφ, nap°. pokud $a = 1; $b = $a++; # pak $b = 1, $a = 2 --$a; # snφ₧φ hodnotu $a a vrßtφ hodnotu, nap°. pokud $a = 3; $b = --$a; # pak $b = 2, $a = 2 $a--; # vrßtφ hodnotu $a a pak ji snφ₧φ, , nap°. pokud $a = 3; $b = $a--; # pak $b = 3, $a = 2Pro °et∞zce mß Perl mezi jin²mi operßtory
$a = $b . $c; # spojφ $b a $c $a = $b x $c; # opakuje °et∞zec $b $c krßtP°i°azenφ hodnoty
$a = $b; # p°i°adφ $b do $a $a += $b; # p°iΦte $b do $a $a -= $b; # odeΦte $b od $a $a .= $b; # doplnφ $b k $aPoznamejme, ₧e kdy₧ Perl provßdφ p°i°azenφ $a = $b, ud∞lß nejprve kopii $b a pak ji p°i°adφ do $a. Proto p°i dalÜφ zm∞n∞ $b se tato zm∞na neprojevφ na $a.
DalÜφ operßtory najdete ve sklßdaΦce.
$a = 'jablka'; $b = 'hrusky'; print $a.' a '.$b;Ale °ßdek
print '$a a $b';vypφÜe znaky $a a $b a to nenφ ₧ßdoucφ (jmΘna prom∞nn²ch nejsou nahrazeny hodnotami). Mφsto apostrof∙ m∙₧eme pou₧φt uvozovky:
print "$a and $b";Uvozovky zajistφ konverzi libovolnΘho °et∞zce, vΦetn∞ nahrazenφ jmΘna prom∞nnΘ jejφ hodnotou. To je v naÜem p°φkladu ₧ßdoucφ. DalÜφ znaky, na kterΘ se uplatnφ konverze jsou specißlnφ znaky jako konec °ßdky nebo tabelßtor. Znak \n je nov² °ßdek a \t je tabelßtor. DalÜφ specißlnφ znaky jsou uvedeny ve sklßdaΦce.
P°φklad:
Uvedenß sekvence p°φkaz∙ vytiskne Φßst °et∞zce z promennΘ $a, kter² zaΦφnß od pozice 5 (pozice jsou ΦφslovanΘ od 0) a je dlouh² 4 znaky.
$a = "Jana Novotna"; $cast = substr($a,5,4); print $cast;Sekvence tiskne °et∞zec:
Novo
Jedno z mo₧n²ch sprßvn²ch °eÜenφ.