Perl je interpretovaný programovací jazyk vytvořený Larry Wallem v roce 1987. S rozvojem internetu se Perl stal velmi populárním nástrojem pro tvorbu CGI skriptů.
Perl zahájil svou éru jako skriptovací jazyk, náhrada jazyka AWK a interpretru sh. Největšího rozšíření dosáhl ve verzi 4 z roku 1991. Verze 5 přinesla četná vylepšení, především výkonné datové struktury a možnost objektového programování. V poslední době získal Perl oblibu mimo jiné v bioinformatice. PC Magazin zařadil Perl v roce 1998 mezi finalisty soutěže Technical Excellence Award v kategorii Development Tool. Slovo Perl najdete v Oxford English Dictionary.
Larry Wall se při konstrukci jazyka řídil heslem: dá se to udělat více způsoby (there's more than one way to do it). Umožňuje psát krátké programy jednoduše a rychle a přítom nebrání v psaní těch složitých. Jeden ze způsobů je přitom obvykle velmi stručný, takže Perl získal nezaslouženou pověst jazyka, ve kterém se tvoří nesrozumitelný a neudržovatelný kód. Tato kritika ale není oprávněná, Perl je vhodný k řešení malých i velkých problémů. Schopnosti a nástroje, které se používají u velkých projektů, lze použít i v krátkých skriptech.
Dobrý programátor má podle Larryho Walla být líný, netrpělivý a sebevědomý (Laziness, Impatience and Hubris).
- výhody interpretovaného jazyka, především rychlý vývoj bez nutnosti kompilace a linkování
- téměř 16000 volně dostupných modulů třetích stran skrz Comprehensive Perl Archive Network CPAN. Pojmenování, kategorizace, dokumentace, testování a instalace modulů jsou standardizovány. Moduly zpřístupňují prakticky veškerá dostupná rozhraní a knihovny. Např. rozhraní Perlu pro databáze (DBI) podporuje databáze Oracle, Sybase, PostgreSQL, MySQL, SQLite a modul CGI.pm umožňuje lehce pracovat s HTML formuláři.
- dokumentace a literatura, komunita okolo Perlu, konference, news…
- efektivita programování: v programech, které nejsou přímo závislé na rychlosti běhu, je výhodnější jazyk, který vyžaduje méně řádek kódu
- dynamická práce s pamětí (není třeba destruktorů…) a pokročilé datové typy např. asociativní pole neboli hash (lineární seznamy a binární stromy již nejsou třeba)
- je svobodný software, licencován pod Artistic License nebo GNU General Public License
- ve srovnání s kompilovanými jazyky lepší možnosti zabezpečení při běhu kódu
- snadné spojování již hotových komponent (modulů) stejně jako u Delphi, Visual Basicu, PowerBuilderu, Tcl, Microsoft Office, Emacs, atd. a navíc s možností širokého použití (Linux, Unix, MS Windows, VMS, Palm OS, Apache, ASP, CGI, ISAPI, OLE, WSH, WSC, WxPerl, atd.)
- převzetí osvědčených konstrukcí z ostatních jazyků, jako např. C (programovací jazyk), AWK, sed, sh, BASIC, a dalších
- ukazatele na statické, dynamické i anonymní datové struktury
- umožňuje procedurální i objektově orientované programování
- snadná práce s textem a značkovacími jazyky (XML, HTML…)
- regulární výrazy a jejich rychlost
- Perl podporuje znakovou sadu Unicode a je (byl) Y2K kompatibilní
- eval (možnost využít funkce překladače za běhu programu, takže můžeme vytvářet dynamický kód, resp. kód optimalizovat na rychlost za běhu)
- dynamicky volání procedur (název známe až za běhu programu)
- stabilita: mnoho let mnoha vývojáři vyvíjený programovací jazyk
- možnost použití inline C/C++ v Perlu nebo rozhraní Perlu pro externí C/C++ knihovny skrz XS nebo SWIG
- uzávěry (podprogramy si pamatují proměnné jenž potřebuje ke svému běhu)
- návěstí (řízení cyklů)
- automatické zavádění (pokud jméno funkce neexistuje pak Perl umožňuje spuštění definovaného kódu)
- Perl umí zacházet se zakódovanými webovými daty, mezi něž patří transakce u elektronickém obchodování
- Perl může být součástí web serverů čímž může dojít k zrychlení o 2000 %
- mod perl umožňuje web serveru Apache vložení Perlu s výhodami jako je při vložení PHP
- interpret Perlu může být vložen (embedded) do ostatních systémů,
#include <Perl.h>
- šablony (write)…