Textavinnsla
Perl er ekki hvað síst vinsælt fyrir öfluga textavinnslu og inniheldur fjölmörg föll til að fást við texta. Meðal þeirra má nefna push og pop sem bæta staki aftan við lista og klippa það af, shift og unshift sem bæta staki framanvið lista og klippa það af, sort og reverse sem raða í rétta og öfuga röð (stafrófsröð eða eigin skilgreind röð), chop og chomp sem klippa nýlínutákn aftanaf strengjum, split og join til að klippa sundur og skeyta saman, o.sv.frv. Lesið Perl hjálpina!
Frægast eða alræmdast er þó Regular Expressions; öflug aðferð til að leita að munstri í strengjum eða skipta um mynstur. Gallinn er sá að kóðinn verður oft torskilinn, ekki síst fyrir byrjendur. Munstrin eru skilgreind með bókstöfum, tölustöfum og sérstökum táknum og römmuð inn með //. Meðal hinna sérstöku tákna má nefna:
. # Einn bókstafur
^ # Fremst í streng
$ # Aftast í streng
* # Endurtekning á síðasta tákni (má sleppa)
+ # Endurtekning á síðasta tákni (minnst einu sinni)
^ # Neitun
Hornklofar ramma inn jafngild tákn. Þannig má lýsa bílnúmerum með
/[A-Z][A-Z][0-9] [0-9][0-9]/
og náttúrulegum tölum með
/[0-9]+/
Samanburður við streng er gerður með bindivirkjanum =~
$a = "meira torf";
if ($a =~ /^me/) {print "Þetta passar";}
og skipti á munstri líka:
$a =~ s/meira/minna/;
print $a; # Prentar "minna torf" á skjáinn
Á eftir aftasta skástrikinu geta síðan komið bókstafir sem stýra samanburðinum. Til að mynda táknar i að ekki skuli gera greinarmun á hástöfum og lágstöfum og g endurtaka skuli bindinguna eins oft og hægt er. Dæmi:
$a = "Meira torf, meira grjót";
if ($a =~ /^me/) {print "Þetta passar";} # Ekkert er prentað
if ($a =~ /^me/i) {print "Þetta passar";} # Þetta passar
$a =~ s/meira/minna/i; # Skiptir einu orði út
$a =~ s/meira/minna/ig; # Skiptir báðum orðum út
Fleiri dæmi verða ekki tekin hér en að lokum má nefna að þessar skilgreiningar á munstrum eru ekki bundnar við Perl. Þær liggja til grundvallar mörgum algengum kerfisstjórnarforritum í Unix, nýjustu útgáfur af Java bjóða þær og þær eru hluti af JavaScript.