Perl är ett dynamiskt typat, generellt programspråk som skapades av Larry Wall. Den första offentliga utgåvan, Perl 1.000, publicerades den 18 december 1987. Språket utvecklades ursprungligen för textbearbetning och används bland annat inom systemadministration, webbutveckling och nätverksprogrammering.
Perl stöder både procedurell och objektorienterad programmering och har ett omfattande inbyggt stöd för textbearbetning och reguljära uttryck. Ett stort antal återanvändbara programbibliotek distribueras genom arkivet CPAN.
Den femte huvudversionen, Perl 5, introducerades 1994 och har därefter fortsatt att utvecklas. Den senaste stabila utgåvan är Perl 5.44.0, publicerad den 15 juli 2026.
Historia Larry Wall gav ut Perl 1.000 den 18 december 1987. Under de följande åren följde Perl 2, 3 och 4, innan Perl 5.000 publicerades den 17 oktober 1994.
Perl 5 innebar en omfattande omarbetning av språket och introducerade bland annat moduler, referenser och stöd för objektorienterad programmering. Samtidigt behölls en hög grad av bakåtkompatibilitet med äldre Perlprogram.
Utvecklingen sker som ett projekt med öppen källkod. Kärnan, standardbiblioteket och dokumentationen underhålls av en grupp frivilliga utvecklare som vanligen benämns Perl 5 Porters eller p5p.
Språkets utformning Syntax och programmeringsstil Perl är ett friformaterat språk, vilket innebär att blanksteg och indrag normalt inte bestämmer programmets struktur. Syntaxen har hämtat idéer från bland annat Awk, sed, C, Bourne shell, Smalltalk och Lisp.
Språket erbjuder ofta flera sätt att uttrycka samma operation. Detta sammanfattas i mottot There's more than one way to do it, ofta förkortat TMTOWTDI och på svenska ungefär ”det finns mer än ett sätt att göra det på”.
Datatyper och kontext Perl har tre grundläggande typer av variabler:
skalärer, som kan innehålla ett enskilt tal, en textsträng eller en referens, arrayer, som innehåller ordnade listor av skalärer, hashar, som innehåller värden indexerade med textnycklar.
Variabeltypen markeras med ett inledande tecken, ett så kallat sigill. Skalärer skrivs med dollartecken (`$`), arrayer med snabel-a (`@`) och hashar med procenttecken (`%`).
Perl skiljer bland annat mellan skalärkontext och listkontext. Samma uttryck kan därför ge olika resultat beroende på hur dess värde används.
Reguljära uttryck Reguljära uttryck är integrerade i Perls syntax. Operatorerna `m//` och `=~` används för att matcha text mot ett mönster, medan `s///` används för att ersätta text. Operatorn `qr//` kan användas för att skapa ett reguljärt uttryck som senare kan återanvändas.
Moduler och objektorientering Återanvändbar Perlkod organiseras vanligen i moduler, som kan läsas in med nyckelordet `use`. Perls traditionella objektmodell bygger på paket, subrutiner och referenser som kopplas till en klass med funktionen `bless`. Sedan Perl 5.38 finns även ett experimentellt objektsystem med nyckelorden `class`, `field` och `method`. Funktionen var fortfarande klassificerad som experimentell i Perl 5.44.
CPAN Comprehensive Perl Archive Network (CPAN) är ett distribuerat arkiv för Perlmoduler, programvara, dokumentation och Perls källkod. Arkivet har funnits på internet sedan oktober 1995. Moduler kan sökas genom bland annat MetaCPAN och installeras med klientprogrammet `cpan`.
Förhållandet till Raku Det språk som ursprungligen utvecklades under namnet Perl 6 heter sedan oktober 2019 Raku. Den första stabila språkspecifikationen, version 6.c, publicerades tillsammans med implementationen Rakudo den 25 december 2015.
Trots det tidigare namnet är Raku inte en ny huvudversion eller ersättare för Perl. Språken betraktas i stället som två självständiga systerspråk som utvecklas som separata projekt.
Plattformar och licens Perl finns tillgängligt för fler än hundra plattformar. Det ingår eller kan installeras på de flesta Unixliknande operativsystem och finns även för macOS och Microsoft Windows.
Perl är fri programvara och får distribueras och modifieras enligt antingen GNU General Public License version 1 eller senare, eller Artistic License.
Programexempel Följande program skriver texten ”Hello, world!” till standardutmatningen:
#!/usr/bin/env perl use strict; use warnings;
print "Hello, world!\n";
Följande exempel använder ett reguljärt uttryck för att ersätta ordet `wikimedia` med `wikipedia`:
#!/usr/bin/env perl use strict; use warnings;
my $text = 'wikimedia'; $text =~ s/^wikimedia$/wikipedia/;
print "$text\n";
Programmet skriver:
wikipedia
Se även CPAN Raku (programspråk) Reguljärt uttryck Perl Compatible Regular Expressions
Källor
Externa länkar Perl.org Perldoc – officiell dokumentation CPAN The Perl Foundation
Kategori:Perl Kategori:Skriptspråk Kategori:Programspråk Kategori:Fri programvara och öppen källkod