Perl (programmeertaal)
Perl | |
---|---|
{{{screenshot}}} Perl |
|
|
|
Ontwikkelaar | Larry Wall |
Meest recente versie | 5.8.8 / 31 januari 2006 |
Laatse bèta versie | {{{laatste_beta_versie}}} / {{{laatste_beta_releasedatum}}} |
Besturingssysteem | alle Unixsoorten en Microsoft Windows |
Categorie | Programmeertaal |
Licentie | GPL |
Website | http://www.cpan.org |
Perl (Practical Extraction and Report Language) is een programmeertaal gemaakt door Larry Wall omstreeks 1987 die de mogelijkheden van programmeertaal C, sed, AWK en de "shell" (sh) heeft samengevoegd.
Larry Wall heeft Perl gemaakt omdat hij een programma nodig had om informatie uit tekstbestanden te halen en in rapportvorm te gieten. Een van de motto's van Perl is There is more than one way to do it (Het kan op meerdere manieren gedaan worden), vaak afgekort tot TIMTOWTDI. Deze flexibiliteit is ontzettend handig als je snel een programma voor een gespecialiseerde taak moet maken, maar als een project uitgroeit en door meerdere programmeurs wordt gedragen kan het een probleem zijn om homogeniteit in de code te houden en om elkaars programma-onderdelen te kunnen lezen. Echter door gebruik te maken van de documentatiemogelijkheden van Perl, waarbij de documentatie in de programmacode zelf opgenomen wordt in het Plain Old Document-formaat (POD) en door het project in modules te splitsen, is ook elk Perl-project goed te onderhouden.
Een ander motto is The swiss army knife of programming languages (Het Zwitsers zakmes van de programmeertalen).
Perl verplicht je niet om je aan een bepaalde structuur te houden, het geeft je enkel veel mogelijkheden. Indien je wenst kan je object-georiënteerd programmeren, procedureel of zelfs functioneel. Het is zelfs mogelijk om de code zo cryptisch te maken dat je enkele weken later niet meer weet wat het doet...
Perl is een script-programmeertaal, al zijn er (experimentele) compilers voor. Het wordt geregeld gebruikt op webservers om CGI-scripts te schrijven.
Perl is niet te koop, het is vrije software met een artistieke licentie of GPL.
Perl bestaat voor de meeste besturingssystemen; voor elke Unixsoort bestaat het, en de populariteit voor Microsoft Windows neemt snel toe. Een voorbeeld van Perl in actie is het gebruik hiervan bij Wikipedia tot januari 2002.
Er bestaat een enorme hoeveelheid van vrij te verkrijgen modules en bibliotheken van Perlprogramma's, gaande van wiskunde tot database, van netwerken tot PDF-creatie, van dvd-rippers tot XML-validators. Perlprogrammeurs kunnen die terugvinden op het Comprehensive Perl Archive Network, http://www.cpan.org/.
Perl is weliswaar een geïnterpreteerde taal, maar voordat het programma start wordt de broncode vertaald naar bytecode, zoals bij programmeertaal Java het geval is, en deze bytecode wordt uitgevoerd.
De huidige versie van Perl is 5, de ontwikkeling van versie 6 is in volle gang. Perl 6 zal net als Perl 5 gebruikmaken van een virtuele machine (VM), maar de VM van Perl 6 (genaamd Parrot) is ook geschikt voor andere talen.
Inhoud |
[bewerk] Voorbeelden
Sommige personen geven te kennen dat de naam Perl eigenlijk staat voor Pathologically Eclectic Rubbish Lister door het veelvuldig gebruik van allerlei leestekens die tot de syntaxis van de taal behoren, zoals men hieronder kan zien in dit voorbeeld van slecht gebruik:
#!/usr/bin/perl # voorbeeld van een Perlprogramma use strict; use warnings; my $message = "Normaal: 'Kameel'.\n"; print $message; $message =~ s/Normaal/Omgekeerd/; # vervang Normaal door Omgekeerd $message =~ s/'(\w){6}'/'$6$5$4$3$2$1'/; print $message;
En hier is de uitvoer van dit programma:
Normaal: Kameel Omgekeerd: leemaK
Het omkeren van een string kan echter veel eenvoudiger met de reverse-functie.
De derde en vierde regel ($message =~ s/... etc.) geven een klein voorbeeld van de regular expression-mogelijkheden van Perl, een ander voorbeeld hiervan is de volgende code:
s{<(?:[^>'"]*|".*?"|'.*?')+>}{}gs;
Voor mensen die net met Perl beginnen ziet dit eruit alsof de programmeur met z'n handen op het toetsenbord geslagen heeft, maar een ervaren Perlprogrammeur begrijpt wat hier gebeurt.
Een Perlinstallatie heeft meestal uitgebreide documentatie die opgevraagd kan worden met de opdracht perldoc. Voorbeeld:
perldoc -f substr
De Windowsversie van ActiveState installeert ook uitstekende documentatie opvraagbaar in HTML-formaat.
[bewerk] Boeken
Sommige boeken zijn binnen de Perl-gemeenschap erg populair, en dienen als de-facto standaard voor wie Perl wil leren. Veel van deze boeken zijn uitgegeven door O'Reilly, een uitgever die ook veel Perl-evenementen sponsort en Perl met het boek ""Programming Perl"" het kameel-embleem gaf, dat omdat het een trademark van O'Reilly is en dus niet vrij is, niet op Wikipedia kan worden geplaatst.
- Learning Perl, 3rd edition - Randal L. Schwartz, Tom Phoenix
- Learning Perl on Win32 Systems - Randal L. Schwartz, Erik Olson, Tom Christiansen
- Programming Perl, 3rd Edition - Larry Wall, Tom Christiansen, Jon Orwant
- Perl Cookbook, 2nd Edition - Tom Christiansen, Nathan Torkington
- Learning Perl Objects, References, and Modules - Randal L. Schwartz
- Higher Order Perl - Mark Jason Dominus
- Beginning Perl, 1st Edition - Simon Cozens (gratis te downloaden, 2e editie niet)
Boeken van O'Reilly hebben op de kaft een dier staan. Dit geeft de boeken bijnamen, zoals "The Camel Book" (of kortweg "The Camel") voor "Programming Perl".
Titel | Dier op de kaft, tevens bijnaam (Engelstalig) |
---|---|
Learning Perl | Llama |
Learning Perl for Win32 Systems | Gecko |
Programming Perl | Camel |
Perl Cookbook | Ram |
Learning Perl Objects, References, and Modules | Alpaca |
Perl Template Toolkit | Badger |
Mastering Regular Expressions | Owl |
Programming Perl is zeker geen beginnersboek, maar een echt naslagwerk. Het "Cookbook" is een echte aanrader om naast Learning Perl of Programming Perl aan te schaffen. Beginning Perl is voor beginners een goede complete introductie die in relatief hoog tempo door de stof van Llama, Camel en Alpaca werkt.
[bewerk] Programma's
Voorbeelden van (grotere) programma's geschreven in Perl zijn:
[bewerk] Externe links
- http://www.perl.com/
- http://dmoz.org/Computers/Programming/Languages/Perl/
- http://directory.google.com/Top/Computers/Programming/Languages/Perl/
- http://www.xasa.com/directorio/mozilla/Top/Computers/Programming/Languages/Perl/
Een (vrije) versie van Perl voor Windows is te vinden op de site van ActiveState.
Overzicht van programmeertalen |
Industrieel: |