Perl: Malsamoj inter versioj

[nekontrolita versio][kontrolita revizio]
Enhavo forigita Enhavo aldonita
KuBOT (diskuto | kontribuoj)
e Forigo de la ŝablono(j) LigoElstara kaj/aŭ LigoLeginda laŭ VP:FA
forigis "odondema paradigmo" -- kio estas tio? -- alivortigoj, interpunkcio ktp.
Linio 1:
:''Por la komunumo en Sarlando, Germanio, vidu '''[[Perl (Sarlando)]]'''.''
'''Perl''' estas komputila [[programlingvo]] kreita de [[Larry Wall]] en oktobro de 1987 kiu prenas propraĵojn de [[C Komputillingvo(programlingvo)|C]], [[sed]], [[awk]], ŝela skriptado ([[sh]]), kaj malpli de multaj aliaj komputillingvoj. Kvankam la nomo povas esti viditalegita kiel akronimo enlaŭ pli ol unu maniero ('Praktika elprena kaj resuma lingvo' estas unu), estas normale literumita en miksita majuskleco, kiam temas pri la lingvo, kaj minusklecominuskle, kiam temas pri la interpretilo. "Nur perl ĝuste traktas Perl-on."
 
== Celoj ==
Perl estis kreita por esti praktitapraktika lingvo por elpreni informojn de tekstaj dosieroj kaj fari resumojn. Unu el ĝiaj motoj estas "Ekzistas pli ol unu maniero, per kiu fari ĝin!" Alia estas ''"Perl: la svisarmea ĉensegilo de komputillingvoj''". Unu deklaritaDeklarita celo estas faciligi facilajn taskojn kaj farebligi malfacilajn taskojn. Ĝia fleksebleco permesas versiojnvariantojn de multaj programadaj paradigmoj: odondema[[Procedura programado|procedura]], [[Funkcia programado|funkcia]], kaj [[Objektema programado|objektema]] --- kvankam purismanoj kontraŭstaras la aliron de Perl, kiu preferas konvenon al la programisto super pura lingvosistemigo. Perl havas fortan integritan subtenon por [[regulesprimo]]j aŭtomate. Perl estas ofte konsiderata la arĥetipa skripta komputillingvo kaj jam estis nomita "la gluo kiu kunligas la TTT-on", ĉar ĝi estas unu el la plej popularaj [[CGI ]]-komputillingvoj. Ĝia rolo de "glua komputillingvo" povas esti priskribita ĝenerale kiel ĝia kapablo kunligi diversajn kaj malsamajn sistemojn kaj datumstrukturojn, kiuj ne estis formitaj por esti kunligitaj.
 
Perl estas [[libera programaro]], akirebla sub la [[GPL]] kaj propra Arta Permesilo (angle, Artistic License, [http://www.perl.com/language/misc/Artistic.html Artistic License]). Perl haveblas por la plejparto de operaciumoj, sed estas aparte kutima ĉe [[Unikso]] kaj similaj sistemoj, kaj plipopulariĝas ĉe [[Vindozo|Vindozaj]] sistemoj. Kiel ekzemplo de funkcianta Perl, ĝis januaro de 2002 la programaro kiu funkciigis Vikipedion estis CGI-skripto verkita en Perl.
 
== Implemento ==
Grandega kolekto deda libere uzeblaj moduloj, de alta matematiko ĝis datumbaza konektado, retumado, kaj pli, povas esti enŝutitaelŝutita de reto de retlokoj nomitaj [[CPAN]]. La plejparto de la enhavo de CPAN estas ankaŭ havebla je la Artistic License, GBL,GPL aŭ ambaŭ.
 
Kvankam Perl havas la plejparton dade la iloj kaj facilecola facilecon de uzo de interpretita lingvo, ĝi ne strikte interpretas la kodon kaj plenumas la kodonĝin lineon post lineo. AnstataŭAnstataŭe, Perl unue tradukas la tutan programon al meza bitoka kodo (multe kielsamkiel en [[Java]]), optimigante dum ĝi konvertas, kaj poste plenumas laŭ la bitoka kodo. Eblas traduki perl-programon al bitoka kodo por ŝpari je la tradukatradukan paŝopaŝon dumen postaj farojlanĉadoj, kvankam la "interpretilo" ankoraŭ necesas porla plenumikodon tiunpor kodonplenumi.
 
La nuna versio 5.8 subtenas [[Unikodo]]n. Perl 6 estas ĉiprilaborata tiamde prilaboratapluraj jaroj. Ĝi funkciosfunkcias per virtuala maŝino nun prilaborata kiel ebla multlingva celamultlingvokapabla arĥitekturo.
 
== Kontrolaj strukturoj ==
La bazaj kontrolaj strukturoj unuavide similas al tiuj de [[Cla programlingvoj Komputillingvo|C]] kaj [[Java Komputillingvo|Java]] komputillingvoj.
Tamen ili malsimilas, kiam ili kontrolas nur unu instrukcion. Alia diferenco estas, ke Perl enkondukas kontrolan strukturon [[unless]],
kiu estas nur la malo de kutima kontrola instrukcio ''[[if]]'' (Esperante "se").
 
''=== Iteracioj'' ===
 
* se estas pluraj instrukcioj inter { kaj }
Linio 25:
''instrukcio(j)''
}
* alternativo (ne nepre uzenda), se estas nur unu instrukcio (rimarku ke ne estas parentezoj ĉirkaŭ la bulea esprimo)
''instrukcio'' while ''Bulea esprimo'';
 
''while'' signifas "dum".
 
do {
Linio 38 ⟶ 39:
}
 
=== Kondiĉoj ===
 
''If-then asertoj''
 
* Se estas pluraj instrukcioj
Linio 46:
}
* se nur unu instrukcio
''instrukcio'' if ''Bulea esprimo'';
 
* kun else
Linio 57:
}
 
''else'' signifas "aliokaze", kaj ''elsif'' estas kunmeto de "else" kaj "if".
''Unless''
 
Anstataŭ nei la Bulean esprimon, oni povas uzi la instrukcion ''unless'' (Esperante "se ne"):
 
* Se estas pluraj instrukcioj
Linio 63 ⟶ 65:
''instrukcio(j)''
}
* alternativo (ne nepre uzenda), se estas nur unu instrukcio
''instrukcio'' unless ''Bulea esprimo'';
 
* kun else
Linio 76 ⟶ 78:
Perl 6 disigos sintaksan analizadon kaj tradukadon kaj plenumadon, pliallogigante la virtualan maŝinon al programistoj kiuj volas transporti aliajn lingvojn al la arĥitekturo.
 
[[Parrot virtuala maŝino|Parrot]] estas la runtimerultempa programo de Perl 6, kaj povas esti programita ĉe malalta nivelo per [[Parrot simbola maŝinkodo]]. Parrot ekzistas en limigita formo ekde decembro de 2002, kaj malgranda kvanto deda lingvoj (Jako, Cola) ekzistas por simple esti 'tradukita' suben al Parrot maŝinkodaj simboloj.
 
== Ekzemploj de kodo ==
Iuj homoj ŝerce asertas, ke Perl signifas "Patologiepatologie eklektika rubo-listigilo" pro la multaofta uzo de signifaj punkciumaj karakteroj en la [[sintakso]] de la lingvo, kiel oni povas vidi en la jena ekzemplokodero por(kiu printiprintas saluton kaj nombron):
 
<nowiki># Ekzempla Perl-programo</nowiki>
Linio 94 ⟶ 96:
La kvara linio de la ekzemplo montras la uzon de [[Regula esprimo|regulesprimoj]].
 
Kiel pri la [[C Komputillingvo|C]], konkursoj pri malfacile legeblaj kodoj estas interesa parto de la Perl-kulturo. Simile al malfacile legebla kodo, sed kun malsama celo, Perl -[[poezio]] estas la arto de verki poemojn, kiuj fakte povas esti tradukitaj de perl. Ĉi tiu arto estas unika al Perl, pro la granda kvanto de anglalingvaj vortoj en la lingvo.
 
== Eksteraj ligiloj ==