CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Perl (programmeertaal) - Wikipedia

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.

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

Een (vrije) versie van Perl voor Windows is te vinden op de site van ActiveState.


Overzicht van programmeertalen

Industrieel:
Ada | AWK | Assembler | C | C++ | C# | COBOL | Fortran | F# | Java | JavaScript | Lisp | Object Pascal | Pascal | Perl | PHP | Python | Visual Basic
Academisch:
Eiffel | Haskell | Logo | ML | Prolog | Scheme | Smalltalk
Historisch:
ALGOL | APL | BASIC | Clipper | MUMPS | PL/I | PowerBuilder | Simula

 
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com