Severity: Notice
Message: Undefined offset: 1
Filename: infosekolah/leftmenudasboard.php
Line Number: 33
Line Number: 34
Perl este un limbaj de programare dinamic, procedural, creat de Lary Wall în 1987. Perl împrumută caracteristicile limbajelor C, shell, AWK, sed, Lisp și ale multor alte limbaje într-o măsură mai mică.
O caracteristică importantă care deosebește Perl de alte limbaje este faptul că beneficiază de un repository numit CPAN ce conține module open-source bine documentate. Utilizarea CPAN pentru re-folosirea codului deja scris este încurajată.
Conform paginii de manual perlintro(1)
Designul Perl poate fi înțeles ca un răspuns la trei mari tendințe în industria calculatoarelor: scăderea prețurilor la hardware, creșterea costurilor de dezvoltare, îmbunătățiri în tehnologia compilatoarelor. Multe limbaje apărute înainte, cum ar fi Fortran sau C au fost concepute pentru a utiliza eficient resursele hardware scumpe la momentul respectiv.
Perl are multe caracteristici care ușurează sarcina programatorului cu prețul unei mai mari utilizări a procesorului și a memoriei. Acestea includ un garbage collector , tipuri dinamice, string-uri, liste, expresii regulate și o funcție eval().
eval()
În Perl se pot implementa elemente de programare functională(Higher Order Perl) și programare orientata pe obiect(Object oriented Perl).
Limbajul Perl și-a format o comunitate relativ mare. Site-ul Perlmonks.org e un forum dar și o sursa de informații referitoare la Perl, conține o serie de tutoriale foarte detaliate. De asemenea, pe IRC există câteva canale care au ca subiect limbajul Perl. Aceste canale oferă suport pentru limbajul Perl sau pentru anumite module.
Următoarele implementări de Perl sunt disponibile:
Installer pentru Perl și alte pachete
Perl este disponibil pe sistemele de operare Windows, *UNIX, Linux și Mac OS X.
#!/usr/bin/perl print "Hello, world!\n";
$a = 12; $b = 'foo'; $c = 3.14324324234;
('a','foo',123)
my @lista = (1,2,3); my $referinta_la_lista = \@lista;
%hash = ( foo => 'bar' , tar => 123 , )
Toate structurile repetitive pot fi antepuse sau postpuse în Perl.
Observație: În Perl do nu este structură de control repetitivă.
sub _numele_subrutinei_ { # code here }
_numele_subrutinei_( _parametri_ );
Ei pot fi accesați cu @_[index] sau $_[index].
#!/usr/bin/perl use strict; use warnings; display('foo'); sub display { my $message = shift; # shift se face implicit pe @_ # o alta metoda e: my ($message) = @_ print $message; }
Observație: nu e obligatoriu ca subrutina să fie definită înaintea apelului acesteia (ca în cazul C-ului de exemplu)
În general dacă sunt mai mulți parametri se poate folosi
sub display { my ($param1,$param2,$param3) = @_; }
DBI
use DBI; my $dbh = DBI->connect($data_source, $username, $auth, \%attr); // conectarea la o bază de date my $query = $dbh->do("query"); // sau my $query = $dbh->prepare("query"); $query->execute($argumente);
Perl este deseori criticat ca fiind 'line-noise' pentru că structura limbajului poate produce cod aparent ilizibil. Există concursuri de Perl golf( 1 Arhivat în 24 august 2009, la Wayback Machine. , 2 Arhivat în 13 ianuarie 2012, la Wayback Machine. ), și Perl obfu.