You are on page 1of 17

15/01/2017 Perl(linguagemdeprogramao)Wikipedia

Perl(linguagemdeprogramao)
Origem:Wikipdia,aenciclopdialivre

Perl[pl]umlivre,independentedeplataformae Perl
interpretadolinguagemdeprogramao(linguagemdescript
),osvriosparadigmasdeprogramaosuportadas. paradigmas: processual,modular,
parcialmenteorientadaaobjeto
OlinguistaLarryWallprojetouem1987comoumasntesede ano: 1987
C,awk,oUnixcomandoseoutrasinfluncias. desenvolvedor: LarryWall,PerlPorter
Originalmenteconcebidocomoferramentaparao
Atualverso: 5.24.0(09demaiode2016)
processamentoemanipulaodearquivosdetextoem
particularemsistemaseadministraoderedefornecido(por digitao: fraco,deformadinmica,
exemplo,anlisedearquivosdelog),Perltemtambmno implicitamente
desenvolvimentodeaplicaesWebenasbioinformtica Influenciado awk,BASICPLUS,C,C++,
encontradoslargura.RepresentadoTradicionalmentePerl por: Smalltalk,Lisp,Pascal,sed,
tambmnomundofinanceiro,especialmenteno UnixShell
processamentodefluxosdedadosdevriasfontesdenotcias. afetados: PHP,oRuby,Python,
Osprincipaisobjetivossoaresoluodeproblemasrpidae JavaScript,Windows
mximaliberdadeparaosprogramadores.Aediodetexto PowerShell
usandoexpressesregularesemuitoslivrementedisponveis Sistema independentedeplataforma
mdulos,queemumlugar(CPANsorecolhidos),soos operacional:
pontosfortesdalngua. Licena: GPLeArtisticLicense
www.perl.org(http://www.perl.org/)

contedo
1 Histria
1.1 surgimento
1.2 nome
1.3 Perl14
1.4 Perl5
1.4.1 doPerl5.10
1.4.2 Asversesatuais
1.5 Perl6
2 recursos
2.1 princpios
2.1.1 Vrioscaminhos
2.1.2 simplesepossvel
2.1.3 Contextosensveis
2.2 Caractersticastcnicas
2.3 distribuio
2.4 Perleoutraslinguagensdeprogramao
2,5 logos
3 crticas
4 sintaxe
4.1 formatolivre
4.2 variveis
4.3 Estruturasdecontrole
4.3.1 Execuocondicional
4.3.2 moagem
4.3.3 Trailingestruturasdecontrole
4.4 ExpressesRegulares

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 1/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

4,5 Citandoeinterpolao
5 culturaPerlediverso
5.1 Comunidade
5.2 Reunies,workshopseconferncias
5.3 disciplinas
5.4 lemasecitaes
6 Outrasinformaes
7 Vejatambm
8 literatura
9 Ligaesexternas
10 Referncias

Histria
Emergence

LarryWalleracomoumadministradoreprogramadornaempresaUnisys
empregado,ondeesteveenvolvidodesdemaro1987,porquesobonomemais
negrodeumaredeseguraparaoNSAparasedesenvolver.Elerecebeuvrias
ordenseferramentasparamonitoramentoemanutenoremotadoresultante
softwareparacriar.Umobjetoprincipalfoil,relatriosclarosdedispersos
torasparaproduzir.Desdesuaslinguagenseferramentasexistentespara
apareceudemasiadopesado,queeledesenvolveucomaajudadeseusantigos
colegasdeequipaDanielFaigineseuirmoMarkBiggarlinguagemprpria
gradualpararesolversuastarefas.

Eletambminterveioemseuconhecimentoeexperinciacomoumlinguista
voltaeprojetadoPerlpertodoshbitosdevozhumana.Istoexpressonos
requisitosmnimosparaaentrada,umafortecombinabilitydeelementosde
linguagemeumvocabulrioricoquetambmpermitecomandoscujos
LarryWallprojetadoPerl.
significadossesobrepem.Paredevasnecessidadesdeumpraticantea
liberdadeeintuitivaexpressorealizado.

DeacordocomestaabordagemprticaparaPerlemprestadoseuvocabulrioesuasestruturaslgicasdona
dcadade1980soboUnixusadoslinguagenseferramentas,oaprendizadosimplificado,mastambma
filosofiaUnixrevertida.UnixeseuscomandosdosistemaforamcompiladoseprincipalmenteemCescrita.
Estescomandoseramunidadeslgicasedevecontrolarcomprecisoumobjeto:"fazerumacoisaefazlo
bem"("Faaexatamenteumacoisaefazlobem").InterpretadosShellroteiroscombinadosdeformarpidae
facilmenteoscomandosparaooutroosseusresultadosatravsdetubospoderiampassar.Perlviolaesta
filosofia,fazendoestescomandosparapartedalinguagem,demodoCeShellcombinaefundeoscomandose
ferramentasexistentes.

Issofoinecessrioporqueshellscriptsparatarefascomplexaseraminadequados.Meuprocessomuito
simples,eleconsegueosdadoscachelimitadoeostubossogargalosparaatrocadedados.Poroutrolado,
elespermitemqueumaprticadeprogramaomuitomaiscompactaporqueousodeumaferramentaUNIX
muitaslinhasCcdigopodesubstituir.

Parautilizarasvantagensdosdoistiposdeprogramao,WallcriadoumacombinaodeCeferramentas
comoosed,awk,grepetipo.EleacrescentoupropriedadesdaShellBourne,emgrandemedida,elementos
dePascaleBASIC,bemcomoassuasprpriasideias.[1]Estafusopermitiuprogramascurtosepoderosos
quevocescreverdeformarpidaeemqualquermomento,tambmpoderiatestar,semterquerecompilarlo,o
queodesenvolvimentotambmacelerado.Maistarde,outrashabilidadesdelnguascomoforamLisp,
Smalltalk,Pythonourubi"importados".

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 2/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

Nome

OnomePerlrefereseaumacitaodoEvangelhodeMateus(Mt13,46)[2],emqueJesusoreinodoscus
descrevecomaimagemdeumcomerciantequequervendersuapropriedadeparaumapreciosaprolapara
comprar.Mesmoantesdapublicaodonomede"Pearl"no"Perl"foialterado,umavezquejexisteuma
linguagemchamadaPEARLdeu.GeraldifundidaeaceitaporLarryWalltambmsoBackronymeprticada
extraoeRelatrioLngua(extraofuncionaleRelatrioLanguage)ePathologicallyEclecticRubbish
Lister(estilomrbidosmisturaBldsinnsauflister).Anotao"Perl"poroutrolado,refereselinguagem",
perl"oprogramaqueinterpretaesseidioma.Almdisso,acomunidadePerlconsideraimportantequenoa
grafia"PERL"usado.[3]

Perl14

Em18dedezembrode1987[4]LarryWallpublicouoseu
programaparaaUsenetcomoPerl1.0,queaindaum
poderososhellFoientoquelidambemcomtextose
arquivos,controlaroutrosprogramasepoderiapassar
relatrioslegveis.Jnodia5deJunhodoanoseguinte,a
verso2.0veiocombaserenovadaeampliadaregex
mecanismodearmazenamentoealgumasoutras
melhorias.Em18deoutubrode1989viuPerl3,que
LarryWallestavanaquelemomentoumfuncionrio
poderialidarcomdadosbinrioseprogramaoderede
doJetPropulsionLaboratory(JPL).
permitidos.ComonovalicenafoiGPLselecionado.

EraquaseinalteradadisponvelemPerl4,masagoraapartirdo21demarode1991,quersobaGPLou
desenvolvidoporLarryWallArtisticLicense.Averdadeirarazoparaanovaverso,noentanto,foiomesmo
publicadolivrodocamelo,quefoipublicadocomoumarefernciaparaacorrente,rotuladacomoverso4
stand.Atento,disponveldesdePerl1UNIXeramhomenspginasanicadisponveladocumentaoPerl.
Estesfornecemparacadatpicoumadiscussoaprofundadaeextensa,masnenhumaentradafcilpara
iniciantesPerl.

EstalacunadeveporRandalL.Schwartzincluemescrita,LarryWallelivrodeTomChristiansen.Elaapareceu
emO'Reilly,quesetornoufamosocomesteeoutrosttuloscomoumeditorespecialistarenomadopara
programadores.livrosPerldeO'ReillyforamaspublicaesPerlrelevantes,querelativizadosumpoucono
novomilnio.AeditoratambmcorreunoendereoInternetperl.comarevistaonlinemaisvisitadoparaa
programaoPerleorganizadocomoTPC(TheConferencePerlhojeOSCON)amaiorconfernciaPerl.
O'ReillybeneficioudePerlscrescentepopularidade,eporsuavezpagaTimO'ReillyseuamigoLarryWall,
nosanosseguintesumsalriofixo,assim,poderiadedicarmaisnenhumobrigaesourequisitos,o
desenvolvimentodalinguagem.

1993,quandoPerlatingiuaverso4036,LarryWallparoudesedesenvolveredesenvolvidoPerl5
completamentenovo.

Perl5

Perl5.0foilanadoem18deOutubrode1994efoiomaiorjavanar
paraoidioma.Comdocumentaoantigaplanciepoderiaagoraser
formatadodocumentaocolarnocdigofonte.Almdisso,deixea
lnguaapartirdeagoraseestendematravsdemdulosseparados,
levandoaosurgimentodoanoseguinteCPANlevou.Estegrande
CPAN:Umdosmaioresarquivosde
arquivodemdulosdisponveisgratuitamenteagoraemsiuma
softwarelivre
importanterazoparausarPerl.Outrainovaoimportantefoia
introduodereferncias,afcilcriaodecompsitosprimeiras
estruturasdedadospermitido.
https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 3/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

Comaverso5foitambmpossvelorientadaaobjetoprogramaoemPerl.AquiLarryWallescolheuum
caminhoincomumelevouasintaxeusadaparaquaseexclusivamenteapartirdeelementosdelinguagemde
(pacotes,recursosdopacoteevariveisdepacotesenovasreferncias)existente.Apenasafunobless()para
criarumobjetoeooperadordeseta(>)parachamarmtodosforamadicionados(ooperadorsetarealmente
ooperadordereference,queconsisteemumobjetoqueconsisteemumarefernciaclasse,ummtodo
particulardereference).HouvetambmXS,umalinguagemdedescriodeinterface,oquetornapossvel
estenderprogramasPerlcomoutraslinguagensouprogramasPerlqualquersoftwareouhardwarepararesolver.

DesdeolanamentodoPerl5,LarryWallmalenvolvidonodesenvolvimentodalinguagem.Issolevouos
programadoresentusiastasPerlvoluntrias,Perl5Porter,comunicaoviafundadamaio1994listaP5Pde
discusso,mastambmcadavezmaisnasuaprpriaBugdecidireRequestTracker(RT)sobrecorreesde
bugsenovosrecursosdalinguagem.precisocadaversoumchamadoPumpkingline.OtermoPerlPorter
vemdoobjetooriginaldalistaP5PparacoordenaroPerlportarparaoutrossistemasoperacionais.

Nosanosseguintes,nosverso5.0PerlfoiportadoparaMacintosheWindows,masmudouanumerao
dasverses.Desdemudounadadeessencialparaasintaxefoideixadoa5eaumentouparamarcosmaioresa
primeiracasadecimal,masusounmerosadicionaisparacontarospassosintermedirios.DesdePerlpoderia
apenasde5,6alidarcomnmerosdeversocontendovriasvrgulas,queforamescritaspeloentoz.B.Perl
5.001ouPerl5,001012.Apartirde5.6eaversodoesquemaeraLinuxadoptadoemqueatmesmonmeros
deerrosindicamversesousuriolimpaeincorporarestranhaemversesdedesenvolvimento,osnovos
recursos.Sriedeversesdousurio(porexemplo.Como5.8.x)sojustapostosbinriocompatvel,oque
significaqueumcompiladoparaPerl5.8.7mdulobinrio,masnonecessariamentetambmfuncionacom
5.8.8,com5:10ou5.6.1.

Perl5.6

Estaversointerpostoem22deMarode2000,algumasnovashabilidadesexperimentaisausreiftenmaistarde
comoUnicodeeUTF8,tpicoseclonagem.Eprocessadoresde64bitspoderiaagoraserusado.
LinguisticamenteadicionadoestelideradoporsrieGurusamySarathyvariveis,principalmentelexicais
globais(comour)eumanotaovetorial,quepermiteacomparaodenmerosdeversoMultidigit,eas
variveisespeciais@e@+,a.

Perl5.8

5.8.xComoem18dejulhode2002assistidoporsrieNicholasClarkespecialmenteosproblemascom
Unicodeeosfiosforamcorrigidos,assimcomoasdesada/entrada(IO)sinaiseaprecisonumricafoi
significativamentemelhorada.

dePerl5.10

Almdoconsumodememriareduzidaeummotorderegexrenovadoeagoraintercambiveisestaverso
trouxeem18deDezembrode2007,sobalideranadeRafalGarciaSuarezespecialmenteinovaesquevm
desdeaconcepodePerl6eindividualmenteasuautilizaooucoletivamenteusefeature':5.10';ser
registradodeveoumaiscurtousev5.10;.Istoaplicaseapartirdestaversoparatodasasfunes,oque
poderiaquebraracompatibilidade.Estesincluemsay,givenewhen(anlogaswitchdeclaraoemC),ojogo
inteligenteoperador(~~),odefinidoouoperador(//)estatevariveisqueaproduodefechamentosmais
fcil.Outrasinovaesnotveisincluemocaminhoshiftableinstalao,operadoresdetestedearquivo
empilhveis,pragmalexicaldefinvel,opcionalC3serializaodeheranaobjetoehashesdecampo(para
objetos"dentroparafora").Omotorderegexagorafuncionadeformaiterativa,emvezdeformarecursivaque
agorapermitequeexpressesrecursiva.pesquisascomplexaspodemagoratambmerromaiscompreensvele
menospropensopelacapturanomeadossoformulados.Asvariveisespeciais$#e$*,bemcomoainterface
intrpreteperlcceJPLforamremovidos.

Noanoseguinte,afontedeforamPerforceparagitmudouodesenvolvimentoelanarnovasversesmuito
maissimplificado.
https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 4/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

Perl05:12

EsteslideradoporversoJesseVincentde12deAbrilde2010incluimuitomenosmudanasgrandesevisveis
como5.10.usev5.12;implicausestrict;eusefeature'unicode_strings';,assim,tratartodaacadeiade
comandoscomoUnicode.EntreasmelhoriastcnicasemparticularaatualizadossoUnicode(5.2),DTrace
supporteaseguranadedatasparaalm2038enfatizousuidperlfoiremovido.AeramdePerl6yadda
operadoreafugadeseqnciaregex\Nassumido,versesdemduloapartirdeagoraembalareutilizao
sogeridos.OutranovidadeacapacidadededefinirsuasprpriaspalavraschaveporPerlroutinen.No
entanto,estefactoassinaladocomoexperimentalepodemmudar.Paraummelhorplaneamentoecooperao
comdistribuiesdeumaversodedesenvolvimento,acada3mesesumapequenaversodeusurioe
publicadoacadaanoapartirde05dedezembrode2000nodia20decadams,umgrande.

Perl05:14

Em14demaiode2011,novosmodificadoresecaracteresdecontroledefacilitaramovimentaodeUnicode,
quefoiatualizadopara6.0.Builtinsparalistasehashesdereferenceautomaticamente(autoderef)egrande
partedadocumentaoforamrevistosoureescrito.OapoiodoIPv6foimelhorado,efacilitaaligaode
bibliotecasmultithread.

Perl05:16

Aemitidoem20deMaiode2012Versoincluinumerosossuavizaosinttica,renovadoemdocumentao
parteseamudanaparaUnicode6.1.AlinhatinhaJesseVincentedenovembro2011RicardoSignes.Atravs
deumpotededoaorecminauguradodaFundaoPerltambmdoiscolaboradoresdelongadatapoderia
serobrigadoaexecutartarefasingratasconcludaeoprocessodecompilaoparasimplificar.Apenas
fundamentalmentenovafuncionalidadeque,comusefeature'current_sub';ouusev5.16;comutvelsinal
__SUB__,umarefernciaparaacorrentederotina.

Perl05:18

Apublicadoem18demaiode2013funcionalidadesubrotinaslexicais(lexical_subs)ecommuitosrecursos
geradosclassesdepersonagensdentrodeexpressesregularessoambosexperimentalmente.Taisfunes,
queincluemvariveislexicaiscontexto(lexical_topic)eooperadordejogointeligente(jogointeligente,
partedachave)so,agoraproduzemavisoscomnenhumaviso'experimental::function_name'ounenhum
aviso"experimental"podeserdesligado.Oshashesforamsistematicamenterandomizadosamelhores
programascontraataquesDoSparaproteger.

Perl05:20

TambmsobalideranadeRicardoSignesveioem27deMaiode2014,osrecursosexperimentaisdesub
rotinasassinaturas(assinaturas)e(postderef)umasintaxePostfixalternativaparadereferencing.Otirocom
05:14autodereffoirebaixadocomoexperimental.Unicode6.3suportadoecomdrand48Perlagoratemoseu
bomgeradordenmerosaleatriosindependentesprpriaplataforma.tamanhoscordasematrizsovaloresde
64bitsagora.

Perl05:22

Ao01dejunhode2015veioooperadordediamanteduplo(<<>>),a(bitabit)Stringops(&|..^~..),um
modo'rigorosa'paraexpressesregularesusere'strict';(re_strict),Unicode7.0,aliasingreferncias(
refaliasing)erotinasconstantes(const_attr),sempreforneaumvalormedidoemtempodecompilao.
Todasasfunesdesignadas(nomeemparnteses)soinicialmenteexperimentalmente.

Perl05:24

interpostoem09demaiode2016paraaaceleraoblocoseoperaesnumricaseUnicode8.0.Orecurso
postderefepostderef_qqadotadaautoderefelexical_topicdistncia.

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 5/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

Asversesatuais

Emboraaversomaisrecentedousurio5.24.0,atualmenteonmerodaverso5.22.xaindamanteve
(atualmente5.22.2).Asverses5.20.3,5.18.2,5.16.3,5.14.4,5.12.5,5.10.1e5.8.9sopontosfinaisdesua
escala,melhoriasnaseguranaserapresentadasat3anosapsapublicaodeumaverso.Commdulosdo
ncleonormalmentepagoaumacompatibilidadeat5,6,emimportantesmdulosdoCPANnormalmente
5.8.3.Alteraesrecentestmlugarnoramodedesenvolvimentode5,25,quenosedestinaparaousogeral.
AprximaPerlversionser5:26enoPerl6.Perl6umalnguairm,ointrpreteetornodeinfraestrutura
foramcompletamenteredesenhados.

Perl6

Em19deJulhode2000,noTPC4[5]Perl6foianunciadocomooda
versodacomunidadePerl.DepoisdeLarryWallauswertetevrias
centenasdepropostasetematicamente,eleescreveucadasujeitopara
umavisogeraldesuasideias(Apocalipse),estabelecidospela
discussesnaslistasdediscussodeDamianConwayaumadetalhada
exegesefoiformulado.Nosanosseguintes,alinguagemevoluiuum
crculomenor,enquantoasituaoatualdeformamuitomaisconcisa
sinopsesobservouosimpulsosprovenientesprincipalmentedos
implementadoreseusuriosdetodo2009.

Oidiomafoiesvaziadoeequipadoscomnovashabilidades.[6]Entre
outrascoisas,aorientaoobjetofoicompletamenteredesenhadoe
introduziuelementosdeprogramaofuncionais,taiscomooperadores
dehiperecruzamentos.Macrosestiversubstituindoofiltrodeorigeme
asexpressesregularesrecentementesistematizadoseestendidapode
serresumidoaserderivadagramticas.Elespermitemqueaalterao
compiladorouDSLparaexpandirecomojogointeligenteoperador
~~aplicado,osdiferentestiposdedados,estruturasdedadosecontedo
deacordocomocontextotabelasdesmbolospodecomparar.Areado TambmDamianConwayest
assncronaeprogramaoparalelaestespecificadocomooltimo. envolvidonareformulaoda
linguagem
ComointrpreteparaPerl6originalmenteumnovo(desde2001)foi
baseadaemregistrosmquinavirtualchamadaParrotdesenvolvido.
Vocdevemuitaslnguas(tambmmisto)runeparalinguagensdinmicascomoPerl,PythonouRuby
otimizados.ParrotfoiprojetadoporDanSugalskiechipSalzberge,posteriormente,porJonathanLetoe
PatrickMichaud,esteltimoparaoFerramentasParrotCompiler(PCT)foiresponsvel,umconjuntode
ferramentasparacriaranalisadoresecompiladores.OParrotePCTPerl6compiladorbaseadochamado
Rakudo.SobalideranadeJonathanWorthingtonRakudotemumasubestruturaemNQP(Perlvariantemuito
simples)programado,oquepermitequeocompiladorparaaJVM(pequenosproblemas)eNET(planejado)
porta,eaoMoar,guiadaunicamenteemRakudoVM.Desde29dejulhode2010,publicadamensalmente
para"earlyadopters"a"Rakudo*"distribuiodedocumentao,bibliotecasepapagaioopcionalou(desde
Agostode2014)Moar.Usarvaloresbibliotecassomodules.perl6.org(http://modules.perl6.org/)listadoe
instaladocomopanda.

AudreyTanginiciadadesdeoinciodeFevereirode2005,odesenvolvimentodoPerl6compiladorchamados
alternativosPugsnalinguagemHaskell.VriosanosforamosPugsmaiscompletos,mastambmomaislento
compiladorPerl6epermitiuqueosprimeiros,muitosdetalhesdoprogramadelinguagem,testareretrabalho.
Oconjuntodetestes6extensaeescritoemPerl6PerlvemdafontePugs.Almdeprojectosderivadoscomo
onzeevivsurgidoinmerosoutrosprojetosdeintrprete,compiladoreanalisadorcomdiferentesenfoques
comoSMOP(MetaOOPRunLoop)Niecza(compiladorrpidopara.NET),Sprixel,Perlito(compiladoentre
outrosparaoexecutveldonavegadorJavascript),Yapsiquetornouconhecimentoparcialmentevalioso,mas
muitasvezespoucousoprticoreal.ApenasRakudo,PerlitoeGimme5sercontinuado.Estaltimatraduzuma

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 6/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

definiolegvelpormquinadePerl6sintaxe(STDchamado)apsPerl5.Qualquersoftwarequecumprir
essasregraspodem,oficialmentechamadoPerl6.Perl6,queoficialmentecomoVerso25dedezembrode
2015""(tambmInglsNatal)foipublicado,[7]proclamadocomo"lnguairm",semqualquer
intenodesubstituirPerl5mdio.

Caractersticas
Princpios

Perlfoidesenvolvidoparaousoprtico,e,portanto,concentraseemrpidaefcilprogramao,integridadee
capacidadedeadaptao.Estafilosofiarefletidanasseguintespalavrasoufraseschave,nasuamaioria
causadasporLarryWall.

vrioscaminhos

OlemaPerlmaisconhecidoemaisbsica"Existemaisdeumamaneiradefazlo"(emalemo:"Hmaisde
umamaneiradefazeralgumacoisa"),queemsuamaioriaTIMTOWTDI(raramenteTMTOWTDI)ou(como
Inglscontrao)"TimPara[a]dy"encurtado.[8]PerltornadiferentedelinguagenscomoPythonmais
flexveletemintencionalmenteparacadaformulaodoproblemaevriassoluespossveis(acar
sinttica).Porexemplo,vocpodeusaroperadoreslgicoscomo||e&&(comoemC)ou(comnuancesde
significado)comooreandescrever(comoemPascal)bemcomomuitoscomandoscomumasobreposiode
funescomomapeforpermitirquediferentesformulaesdomesmoassunto.Algunscomandos,comoo
operadordediamante(<>)oferecemrealizaesmaiscurtosparaafuncionalidadeexistente(aquiseria,com
ligeirasdiferenas,<STDIN>equivalentesaoqueseriaescrevermuitomaistempo).Estadiversidadetambm
emCPANvisvelondemuitasvezesvriosmdulosdecumprirumobjectivomuitosemelhantes,ouumque
tambm(aindaquepesado)podeserimplementadomanualmente(porexemplo,Getopt::Long[9]).

UmaoutrapalavradeordemquepodeservistocomoumaextensodaTIMTOWTDI,Perlchamadooprimeiro
psprogramao.IstosignificaquePerldiferentesparadigmasunidaeousuriolivreparacombinar,
caractersticasestruturadas,orientadasaobjetosfuncionaiseimperativasdelinguagem.

Simplesepossvel

AoutramnemnicaimportantePerlfaztrabalhosfceistarefasfceisedifceispossvel,resultandoem
alemosignifica"Perlmantmastarefassimplesefcil(asoluo)difcil(r)funcionapossvel".Istoincluio
primeiroobjectivosimplificartarefascomunspossveiscom"soluesprontas"curtas.Porexemplo,verifica
aexistnciadeumficheiro.FcildeixarTarefassimplesmeiosparaPerltobemquantopossvelparano
exigirinstruesdeprogramaopreparatrias,taiscomoaapresentaodevariveisouescreverumaclasse.
Emsegundolugar,Perltentasercompletaefornecerqualquerproblema,pelomenos,osprincpiosquefazem
umapossvelsoluo.Oterceiroobjetivo,paranodeixarosdoisprimeirosgolscolidem,ganhacomagama
dePerl6linguagemcrescimentoestsetornandocadavezmaisimportante,onde,emconformidadecomo
cdigodeHuffman,asrealizaesdoscomandosusadosmaisfrequentementesomantidosomaiscurto
possvel,semalgicaparaquebraroscomandosdeortografiasemelhantes.edateiname

Contextosensveis

EmPerlexistemcomandosquetmsignificadosdiferentes,dependendodocontextoemquesousados.Emtal
contextosensvelsoestruturasdedadoscomoamatriz.Quandoatribudoaoutroarray,cujocontedoser
passadooreceptorumnicovalor(escalar),estesubstitudoporocomprimentodamatriz.

CaractersticasTcnicas

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 7/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

OintrpretePerlemsiescritonoprogramadeCquepodesercompiladoempraticamentequalquersistema
operacional.versesprcompiladasdesistemasraramenteusadoscomoBeOSouOS/2,noentanto,noso
sempreatualizados.Ocdigofonteincluiaproximadamente50MBecontmosscriptsPerlqueafunode
makefilesassumireoconjuntodetestes.Atualmente,oprogramacompiladodeaproximadamente850KBde
tamanho,maspodevariardependendodosistemaoperacionalcompiladorebibliotecasusadas.

scriptsPerlestoemarquivosdetextoarmazenadosemqualquerseparadordelinha.Noinciodeumscript,
estelidopelointerpretadorPerl,numarvoredeanliseconvertidosparaestecdigodebytes,queento
executada.OAnalisadorintrpreteintegradoumaversopersonalizadadoGNUBison.

Estritamentefalando,Perl,portanto,nointerpretadolinguagem,comoumprogramaPerlantesdecada
execuocompilado.Issolevaalgunsaofatodequeaocontrriodelinguagensinterpretadaspurosum
programacomerrosdesintaxenoseriniciado.

Divulgao

InicialmentePerleraumaferramentaUNIXquefoiprojetadoespecialmenteparaprocessararquivosdetexto,
controlaroutrosprogramaseemitirrelatrios.Existehojeemdia,nosparaadministradoresdesistema,
usadoemtodososprincipaissistemasoperacionais.AquiPerltambmtemumareputaocomouma
linguagemdecola("linguagemcola"),porque,comaajudadescriptsPerlrelativamenteescritasrapidamente
possvelconectarsoftwareincompatvel.Atdata,PerlouvidoemtodososPOSIXsistemascompatveise
Unixlikecomopadro.

ComaproliferaodaWorldWideWebPerltemsidocadavezmaisutilizadoservidorWebparaseconectar,
basesdedadoseoutrosprogramasedadoseosresultadosnaformadeHTMLpginasdesada.Ointrprete
PerlestfazendoviaCGIouFastCGIdirigidapeloservidorwebouincorporadosdiretamentenoservidor.(
PerlModnoApache,ActiveStatePerlExnoMicrosoftIIS).Emboraparaestaprogramaoscriptingdolado
doservidorPHPagoratornousemaispopular,Perlaindapormuitossitesgrandesepequenoseserviosde
Internet,taiscomoAmazon.com,IMDb.com,slashdot.org,MovableType,LiveJournaleXINGusado.Desde
scriptsPerlmuitasvezestrabalhamdificilmentereconhecvelemmuitospontosimportantes,Perlfoitambm
referidabrincadeiracomoafitaadesiva,quedetmaInternet.EmPerltambmsurgiramquadroscomoMason
,Catalisador,Jifty,Mojoliciousedanarino,permitindoumdesenvolvimentomuitorpidodesitescomplexos
efacilmentemodificveis.TambmsoftwareWikimuitasvezesescritoemPerltal.B.SocialText,que
baseadoemMason,Kwiki,TWiki,Foswiki,ProWikiouUseMod.Mesmonobilhetesistemascominterface
webcomoBugzillaouRTsoescritosemPerl.

Noentanto,asaplicaesWWWaindasoapenasumadasmuitasaplicaesdePerl.programasPerl
importantesnoemailregiosoSpamAssassin(Spamfiltro),POPFileeOpenWebMail.Paraadministrao
dosistemaPerl,porexemplo,emDebconf,umapartedogerenciamentodepacotesdosistemaoperacional
Debianusado.Tambmautomake,umapartedosistemadecompilaoGNUescritoemPerl.

OutrosprincipaisreasdeaplicaosoaDataMungingebioinformtica,ondePerldesdecercade1995eraa
lnguamaiscomumenteusadoeaindasignificativo.Razesparaissosomaisumavezacapacidadede
processarinformaesemformadetexto,eaflexibilidadeeaberturadalngua,oquepermitirquea
comunidadeinternacionaldepesquisaparatrabalharjuntos,apesardediferentesorganismosdenormalizao.
BioPerlaquiamaisimportantecoleodeferramentasdisponveisgratuitamente,principalmenteparao
campodaanlisedesequnciasdogenomaconcentrada.QuandooProjetoGenomaHumanoPerl
desempenhouumpapelimportante.

MesmodedesktopaplicativosejogoscomooFrozenBubblepodeserescritoemPerl.Oscomputadoresde
hojesorpidososuficienteparaexecutaressesprogramassemproblemas.

reasondelinguagensdescriptcomoPerlnopodeserutilmenteempregadosso,emprimeirolugar
aplicaescomelevadasexignciasdehardwarepertoouvelocidade,taiscomomotoristasoucodecs.Em
segundolugar,elesnodevememreasaltamentecrticosdesegurana(porexemplo.Comocontroleda

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 8/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

aeronave)podeserusadocomoresultadodaverificaodesintaxefrouxa(z.B.Faltamuitofraco/sistemade
tipo)socorremmuitoserrosemtempodeexecuoeumaverificaogeralmentenopossvel.

Perlportabilidadeexistehmaisde100sistemasoperacionais.[10]

Perleoutraslinguagensdeprogramao

ParatarefasquesodifceisouretardarlibertvelcomPerl,Perlforneceomduloinline[11]deumainterface
quepodeserintegradoemumprogramaPerlsobreaspartesdoprogramaemoutraslnguas.Osidiomas
suportadossou.A.C,C++,Assembler,Java,Python,rubi,FortraneOctave.[12]

AplicaestpicasincluemB..:

frmulasdecomputaointensiva(C,Assembler)
Resolvendoproblemascomplexoscomossistemasexistentes(Octave,Fortranbibliotecas)e
Mesclandodeaplicaesemdiferentesidiomas("Gluefuno"doPerl).

Autilizaodalinharelativamentesimplesebemdocumentada.Quandopartesprogramacompiladoem
linhalevaUsandoMD5livrocdigononveldeverso,assimMehrfachcompilierungomesmocdigo
evitado.

Nalinhadeentregarosparmetroseretornarosresultadosrequeralgumesforo.Nosclculosdecurtoessa
despesasuperaoganhodevelocidade.Se,porexemplo,oconjuntodeMandelbrotcalculadopelafrmula
onlinecomoCfunocalculado,masalicenaiteraoemPerl,aexecuodoprograma
desacelerouemcomparaocomumaimplementaoPerlpuro.Se,noentanto,ocircuitodeiteraoemC
externalizadosignificativamente,odesempenhoaumenta.

Logos

ComomascotedoPerlumdromedrio.Eleenfeitouaprimeiracapa
comocamelolivroconhecidaobraderefernciadeprogramaoPerl.
Seueditor(TimO'Reilly)disseemumaentrevistaemtomde
brincadeiracomojustificativa:Perlfeioelevaalongasdistnciassem
gua.OdromedrioestnaRepblicadeprogramaodePerlparaver
oemblemaquemuitasvezesconsideradocomoologotipoPerloficial
eseuusonocomercialpermitidaO'Reilly.OutrosPerlrelacionada
usadologosestoaoladodeProladofatiasdecebola(identificaoda
FundaoPerl)edodragodeKomodo,aampladistribuioPerl
ActivePerldecoradopeloActiveState. TimO'Reillycontadomuitosanos
paraprincipaisapoiantesPerls.Seu
Crticas editor,detmosdireitostalvezomais
importantedologotipoPerl:o
AcrticamaisfrequentedePerlsuafaltadelegibilidade.Qualquer camelo.
programanotrivialirlermaisfrequentementedoqueescreveu.Na
verdade,Perltemumacimadamdialiberdadesnmero,oquepodelevaraumcdigoilegvel(verdisciplinas
).Poroutrolado,amesmaliberdadetambmfazcomquesejapossvelprogramarpertodaestruturalgicado
problemaouacompreensohumana.AestimativaPerlprogramadoreslivreexercciodeprefernciaspessoais,
deveserlimitadaporregrasautoimpostasparaevitarproblemasfuturoscomprojetosqueestosendo
desenvolvidosporvriosprogramadoresouporperodosprolongados.Istorequerumesforoadicionalde
comunicaoouousodesoftware,taiscomoPerl::Critic.

Algumaspartesdasintaxe,comoaorientaoaobjetoseassinaturas,somodestosemuitopoderoso,masso
muitasvezesvistosemrelaoslnguascomparveiscomoPythonouRubycomoobsoletoeprocurade
abordagenspadronizadas,especialmenteiniciantesPerl,digitaoadicionaletrabalhomental.Estesproblemas
https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 9/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

devemserresolvidoscomPerl6oupodesercontornadocomadicionalde5disponvelparamdulosPerl.
EntolcomMoose(http://moose.perl.org/)umsistemadeobjetomuitomodernoeabrangenteque
estreitamentealinhadospelosPerl6.Alcesaplicvel,entretanto,comoopadrodefactoparaprogramao
orientadaaobjetocomPerl.[13]assinaturasforamintroduzidosem5:20,masaindasoconsiderados
experimentais.

AlmdissoPerlacusadoviolaafilosofiaUNIX.Consulteaseodeformao.

fortescrticascobradocontraoPerl6,tmoparametaselevadaseaps15anosdesupostamenteaindano
trazemresultadosvisveise,emvezminandoofuturodoPerl(5).Perl6foiproclamadadesdeoinciocomo
umprojetodelongoprazo,baseadaunicamenteemnemsemprevoluntariadoprevisvelepoucosobreoapoio
financeiro.Seusobjetivosespecficosforamdistinguidossomentenocursododesenvolvimentode,ehavia
problemasclaroscomcomunicaoeimagempblica.Noentanto,desdePerloriginam5:10inovaes
significativasdePerl6.Apublicaomensaldesde2010RakudopodeconverterquasetodasaspartesdoPerl
6confivel,masmaislentodoquePerl5corridaedeveserlanadoemdezembrode2015paraoPerl6.0.

Sintaxe
Formatolivre

Perlpermitequeocdigofonteemformatolivrelimitado.Istosignificaquetravesseseespaosextrasso
sintaticamenteirrelevanteequebrasdelinhapodeserinseridonavontade.Paracomandosdeumblocodevem
serseparadosporpontoevrgula.Algunselementosdelinguagem,taiscomoformatos,heredocseexpresses
regularescomunssonoformatado.

Variveis

CaractersticadoPerlavarivelporumprefixo(tambmSigilsercaracterizadachamado)queexibeseutipo
dedados.Aquiestoalgunsexemplos:

$paraescalares:$scalar
@paramatrizes:@array
%parahashes(arraysassociativos):%hash
&parafunes(muitasvezesopcional):&function
*paratypeglobs:*all

Filehandles,alasdediretrioeformatostmnenhumprefixo,mastambmsotiposdedadosindependentes.
CadatipodedadostemoseuprprioemPerlnamespace.

tiposdedadosbsicosemPerlvariveisescalares,matrizesehashes(matrizesassociativas).

AngelfishsovariveissemtipodevaloresindividuaiselepodeCordas,nmeros(Full/flutuante)ou
refernciasaoutrosdadosoufunespodemserarmazenadasneles.Cordaseosnmerosso
automaticamenteetransparentementeconvertidoquandonecessrioemsi,umagrandecaractersticado
Perl.
Arrayscombinarvriosescalaressobomesmonomedavarivel.entradasdamatrizsoindexados.A
contagemcomeaa0,amenosquedefinidodeoutromodo.
Hashestambmresumirescalares,masaquivaloresindividuais(sovalores)notemndicesnumricos,
mascomaajudadeassociadosteclas(teclas)claramenteidentificadosetratados.Comoumachaveque
vocpodeusarqualquercadeia,ouqualquercoisaquepodeserconvertidoemumastring.

Claresematrizespodemseratribudosumaooutro,ohashsoconsideradoscomolistasdeparesdechave/
valor.Osdadosdediferentestipospodemsercombinadosporquaisquerrefernciasanovasestruturasde
dados,porexemplo,guisadossoconcebveis,queparaalmdematrizestambmindividualescalares
(refernciasa).

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 10/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

variveisdepacotesocriadosautomaticamentequandoelessousadosemprimeirolugar.Mais
frequentemente,emlinguagemmodernavmdevalidadevariveislimitadasutilizados.Estanecessidade
significamyserdeclarado.ourfazumavarivelaolongodoprogramadisponvel.soavarivelespecificada
novamente.undefvariable

Asestruturasdecontrole

OsbsicosestruturasdecontrolepoucodiferemdaquelesemC,JavaeJavaScript.

execuocondicional

iffuncionacomoconhecidoapartirdeCunless(<Bedingung>),UmacaractersticaespecialdoPerl,uma
maneiradeescreverif(!(<Bedingung>)).Casoacasoouinstruoswitch(givenwhen),hapenasapartirde
Perl5.10,jteveaestaestruturacomifelsifelseimitar.Noentanto,definegivenavariveldeambiente
($_)comoforewhenvirajogointeligente(~~)dependedoqueestaconstruodesiguaisdiversasmarcasusar
doqueoscomandosCasotradicional.Oopcionaldefaultcorrespondeaaquielse.Osoperadoreslgicos
otimizadostambmpermitemaexecuocondicional.Quandoor(ou||)osegundotermoserexecutadoseo
resultadodoprimeironoumvalorverdadeiroand(ou&&)funcionademaneirasemelhante.

se(<condio>){<statements>}
[elsif(<condio>){<instrues>}]
[else{<instrues>}]

amenos(<condio>){<instrues>}
[else{<instrues>}]

dados(<varivel>){
[When(<valor>){<instrues>}]
[padro{<instrues>}]
}

<Condio>?<Statement1>:<statement2>;

<Expression1>||<Expression2>;
<Expression1>&&<expression2>;

Moagem

ComoemCiteratewhileefor(noestilosemelhantevarianteC),desdequeacondioverdadeira,untilat
queeleverdadeiro,eforeachiterarsobreumalista.EstoemPerl5foreforeachsubstituvel.

[Rtulo:]enquanto(<condio>)
{<instrues>}[continuar{<instrues>}]

[Rtulo:]atque(<condio>)
{<instrues>}[continuar{<instrues>}]

[Rtulo:]para([<comearainstruo>];[<condio>];[<instruodeatualizao>])
{<instrues>}[continuar{<instrues>}]

[Rtulo:]para[cada][[minha]$elemento](<list>)
{<instrues>}[continuar{<instrues>}]

lastimediatamentesaidoloop,redorepetiraiteraoatual,enextsaltaparaocontinueblocoantesque,em
seguida,comaprximaiteraocontinua.Estescomandospodemserseguidaporumidentificadordeetiqueta
quedeterminaasestruturasquandoaninhados,emqueocircuitodecomandoreferem.

fazer{<instrues>}enquanto<condio>;#Casoespecial:nestaforma
fazer{<instrues>}at<condio>;#Pelomenosumaexecuo

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 11/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

direitadeestruturasdecontrole

Asestruturasdecontroleenumeradosacimasobaseadosemumblocodevriasinstrues.Paracada
afirmao,tambmpossvelaencurtado,selecioneanotaodefugaquefacilitaa(Ingls)leitores
compreensodaformulaodelinguagemnatural.

<Statement>se<condition>;
<Statement>amenos<condio>;

<Statement>para<list>;
<Statement>enquanto<condio>;
<Statement>at<condition>;

Asexpressesregulares

Desdeosseusprimrdioseramexpressesregulares(regex)umacaractersticaespecialdoPerldesde
habilidadessemelhantesatentolnguasmaisespecializados,taisSNOBOLeawktinha.Comaproliferao
sentouPerlumpadronooficial,definidopeloPerlindependenteebibliotecatambmparcialmente
divergentePCREfoilevadoparacima,queagorausadoporvriasgrandeslnguaseprojetos.

Desdeaverso5.0Perltemassuashabilidadesdeexpressoregularparamuitasfunes,tais.Como
backreferences,expandida.TambmpodemserexpressesregularesemPerlmaisdireta.Comoporexemplo,
emJavacomo=~operadordeuso,umavezquefazemparteintegrantedalinguagemenoumabiblioteca
selecionvel.Aexpressoregularreallistadocombarrascomodelimitadores.Porquebarraspodeocorrer
muitasvezesmesmodentrodeexpressesregulares,emuitosoutroscaracterespodemserusadasparalimitar.
Issomelhoraalegibilidade,comovocpodeselecionarcaracteres,paraquesedestacarapartirdocontedoda
expressoregular.

Perltemdoiscomandosparaexpressesregulares,oseucomportamentopodeseralteradocommuitasopes
defuga.

Omcomandocombinarocumprimentosignifica.Estempodeseromitidoquandoosdelimitadores
padroparaexpressesregulares,ouseja,barrasusadas.Aexpressoaseguirpesquisaocontedoda
varivel$vareretornaumamatrizdestrings,osjogosdaexpressodebusca.Comactivadogopoos
retornosdebuscaemcontextodelistatodasasdescobertasdesativadotodosossubexpressions
detectados.Nocontextoescalar,otermotemumvalorpositivofornecequandootermodepesquisafor
encontrado,comcaopo,onmerodedescobertas.ifazcaseinsensitiveignorarointerpolarvariveis
apenasumavez,macadeiacomovriaslinhasesserconsideradocomoumanicalinha.Axopotorna
possveldistribuiracadeiadepesquisaparamelhoraralegibilidadeparavriaslinhaseparaforneclo
comcomentrios.

$Var=~[m]/<termodepesquisa>/[g[c]][i][m][o][s][x];

Oscomandoestparasubstitutosmeiosquesubstituem.Elesubstituiapartedotextodadoaoqualo
termodepesquisacorresponderaexpressodesubstituio.

$Var=~s/<expressodepesquisa>/<expressodesubstituio>/[e][g][i][m][o][s][x];

Apssucessodousodeumaexpressoregularseguintesvariveisespeciaisestodisponveis:

$&Acadeiadereconhecida
$`Cordadacordareconhecido
$'Cordaapscaracteresdetectados
$1..$nAOLentrecolchetessubexpressions
$+Altimasubexpressoreconhecido

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 12/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

@Iniciarcompensarohitesubmatches
@+deslocamentoscorrespondenteextremidade

Ofrequentementenomesmoflegom//es///descritooperadortr///temconsigoapenasaortografiaem
comum.EleseinclinasobreocomandoUNIXtrparaservirasubstituiodecaracteresindividuais.Sinnimo
emvezdissopodetrtambmyserescrito.

$Var=~tr/<searchstring>/<caracteredesubstituio>/[c][d][s];

Almdessesdois,ocomandotambmpodesplitsermencionado,queseparaumastringusandoum
delimitador,quetambmpodeserumaexpressoregular.

Citandoeinterpolao

CitandoOperadores:

qCitarnointerpretadostring(aliasa'')
qqCitarinterpretadostring(aliaspara"")
qwPalavrasproposta,umalistadeespaoembranco(espaoembranco)cadeiasseparadas
qrRegexCitar
qxAplicaoexternaCitarexecutado

Alternativascitandoeinterpolaochumbovarivelparaparticularmentebomcdigolegvel.Considerea
seguintehistria:

AconcatenaodestringeletrasQuotingzeichentornarocdigodifcildeler.

$Text='Ele\'smeuamigo'.$Name.'De'.$Cidade.'.'
,''.$Name.'Trabalhounaempresa"'.$Empresa.''Para'.$anos.'anos'.;

Interpolaodevariveisnacadeiaparafazeroresultadoagorareconhecvel.Escapes\perturbarat
mesmoofluxodetexto.

$Text="Elemeuamigo$nome$cidade.$Nametemtrabalhadonaempresa\"$empresa\"porUS$anosanos.";

TrocadeQuotingzeichensfazEscapessuprfluo.Ocdigoagoraptima.qqiniciaacitaodevariveis
nacadeia.OsquaisquercaracteresapsoQuotingzeichenparaestacadeia.

$Text=qq{Elemeuamigo$nome$cidade.$Nametemtrabalhadonaempresa"$empresa"Duranteanosanos$}.;

culturaediversoPerl
Comunidade

Talcomoacontececomoutrosprojetosdesoftwarelivre,hentremuitos
desenvolvedoreseusuriosdoslaossociaisespecficasdelinguagem,eformoua
suaprpriaculturadele.AculturaPerldeabertura,hospitalidadeeprestimosidade,
mastambmdeindividualismodominado,brincadeirasehumor.Inicialmentetinha
certezadeLarryWallesteexemploporqueporoutrosprojetos,taiscomornou
remendotinhaumaposiodedestaquenojUNIXcomunidadede LogodaFundaoPerl
desenvolvedoresnolanamentodoPerl,masagoratambmincluemRandalL.
Schwartz,DamianConway,AudreyTang,BrianIngersoneAdamKennedynos
principaisfigurasquevematravsdoseutrabalhodentroda"cena"muitaateno.Aocontrriodelinguagens
https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 13/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

deprogramaocomerciais,quasetodasasatividadessobreasmotivaespessoaispodeserrastreada.Assim,
quePerlFoundationpuramenteorganizaodevoluntrios,quesevcomoopontofocaldeumacomunidade
autoregulamedoaramdinheiroparaprojetosepessoasinfluentes,organizaodeconfernciasde
desenvolvedoreseoperaodosprincipaisPerlusasitesrelevantes.

Reunies,workshopseconferncias

gruposdeusurioslocaisquenormalmenteumaouduasvezespormsparaconvidarreuniesinformais,onde
palestraspodemserrealizadas,chamamparaencontrarPerlMongerseestoemmaisde200grandescidades
emtodoomundo.Bigger,pasmuitomaisorganizadoe,muitasvezesbaseada,asoficinasanuais,dosquaiso
bemestabelecidaGermanPerlWorkshopde[14]foioprimeiro.Workshopsreunirdesenvolvedorambicioso
localmenteemumpreoacessvelquantopossvelquadro.Umdestinosemelhantetemmaioraindaumoutro
ConfernciasPerl(YAPC)quesomantidosparaasregiesdaAmricadoNorte,Brasil,Europa,sia,Rssia
eIsrael.Nomximo,mastambmomaiscarodeO'ReillyalinhadosemosEUAAConfernciaPerl(TPF),
queagorafazpartedoOSCON.

Desdecercade2005paracontribuircomprometidotambmHackathonrealizada,principalmentesobreo
assuntogarantiadequalidade[15]ePerl.6

Disciplinas

MuitosrecursosdelinguagemdePerlconvidamosvocafazerocdigodoprogramacriativo.Istolevoua
intelectualdiferente,,competies,porvezesbizarros,porvezes,bemhumoradoetradiesparaalinguagem
deprogramaoPerl.

golfe
Golfumesporteparaprogramadores,noprogramamaiscurto(emASCIIcaracteres),quesatisfaz
plenamenteumadeterminadatarefa,ganha.DesdePerltemmuitaseparcialmentedifceisatalhose
abreviaturastcnicascomuns,estaumadisciplinaparticularmentepopularentreosprogramadoresPerl.
poesia
DesdePerlincluimuitoselementosdalinguagemIngls,existemcompetiesregularesemqueos
melhoresexemplosemPerlPoesiaseropremiados.Almdaformalivre,anicaPerltemparao
contedo,aquitentandoescreverpoemasquesoexecutadospelointrprete,semavisoemensagensde
erro.[16]Almdisso,htambmumPerlHaikucompetio,dedicadoaestaformadepoesiajaponesa.
ofuscao
Muitofamosoeinfameadisciplinaofuscao(nebulizao),paraosquaishtambmumacompetio
anual(o"concursodeperlofuscado"),aquelecomomaisObfuscatedCConcursoInternacionalde
CdigocomparvelaoLarryWallganhouduasvezesasimesmo.Aquiesforadoparaescondera
funodeumprogramadeumamaneiraincomumecriativo.IstoparticularmentefcilnoPerl,pois
existemparaquasetudoabreviatura,alinguagememsimuitodinmicoemuitascoisasacontecem
automaticamente,dependendodocontextodoquemuitasvezesreferidacomo"Perlmgica".Um
exemplodeMarkJasonDominus,quenaquinta2000concursoanualperlofuscadoganhouosegundo
prmio(esteprogramaotexto"apenasumoutrohackerPerl/Unix"denofuncionanoWindows):

@P=split//,"URRUU\C8R.";@D=split//"\nrekcahXinu/LREPrehtonatsuJ";P{sub
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=garfo;!mapa{$P=$P[$f^ord
($P{$_})6];$p{$_}=/^$P/ix$P:close$_}chaves%p}p;p;p;p;p;mapa{$p{$}_=~/^[p]/&&
perto$_}%p;esperarat$;?mapa{/^r/&&<$_>}%p;$_=$d[$q];randsono(2)if/\S/;print

JAPH
UmasubcategoriatipodeofuscaooporRandalL.SchwartzdisciplinacomeoupublicamenteJAPH
.EstassoasassinaturasquecontmpequenosprogramasPerl,quepassamamaiorparteapenasonome
doautorouumamensagemsobreumapossvelnaturezaincompreensvel.Asletrassoasprimeiras
letrasdeAssinaturaJAPHSchwartz'JustAnotherHackerPerl.
Perligata

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 14/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

OmduloperlLingua::Romana::PerligataporDamian
Conwayprovavelmenteumdosmdulosmaisbizarros
simplesmente:ElepermitequeousuriocompletamentePerlem
latimescrito.Comoemlatim,aordemdaspalavrasa
remuneraoentreaspalavras(principalmente)irrelevantespara
osignificadodeumaexpresso,emvezdesuaflexoproduzido.
Devarivelpararefernciasearraysmultidimensionais,tudoest
disponvelnanovadefiniodelinguagem.Quasetodosos
caracteresespeciaisforamretiradosdalinguagem,variveiscom
omesmonome,masaestruturadiferente(porexemplo,$
prximae@next)sorecusouseaabordaravarivelrelevante.
Umcdigodeexemplo:

insertumStringounumtumduoexcerpementodesdeento.
#Equivalente:substr($string,1,2)=$insira;
clavishashusnominamentumdesdeento.
#Equivalente:@keys=chavesdehash%;

RandalL.Schwartz
Paraumaunidadesemelhante"mdulosdelinguagem"criados
paraKlingon,BorgouLeetspeak.Essesmdulossoumbom
exemplodaquantidadedetempodedicadoamuitaspessoasPerlPerlpodeserdescritocomoamador
nestesentido.
acme
BrianIngersoncolocarseumduloconhecidochamadoAcmequenadafazdiretamente,comopara
certificarousurio,seuprogramateveomaisaltonveldeperfeioalcanadoumabaseparauma
categoriaCPANdemdulosquenotmusoprodutivo,mesmomuitasvezesconscientesso
contraproducentesouespecificarumafunoquenopodeseralcanadoesusceptveldeserentendida
comoumapiada.EstejogocomidiaspeculiaresincluiimpressionantearteASCII,osmdulosque
compemocdigofonteinvisvel(Acme::Bleach)oudeoutraformahumorsticamanipuladoporele,
porexemplo,comerrosdefalatpicosdeopresidenteBushfornecidaouexcluirmtodosporacaso,
indicandoapresenadeumladromagpiepretendesimular.

Lemasecitaes

HmuitoslemasconhecidosecitaesquelidamcomPerlsimesmoou
aspossibilidadesdalinguagemaquiestoalgunsexemplos:

"Perl:oSwissArmyChainsawdelinguagensdeprogramao."
(Perl.Amotoserraexrcitosuodelinguagensdeprogramao
alusoversatilidadedecanivetessuos.)
"Perlanicalinguagemquepareceomesmoantesedepoisde
criptografiaRSA."(KB)
(PerlanicalnguaqueoantesedepoisdaRSAparece
criptografiaiguais).
"SperlpodeanalisarPerl."(LW) programadoresPerlvercamelosde
(spodePerlperlparse). qualquerespciecomomascote.O
"...Nsoftpiadafezumcameloumcavalodesenhadoporum LondonPerlMongersterainda
comit,massevocpensarsobreisso,ocamelomuitobem adoptadoapartirdoZoodeLondres.
angepasstparaavidanodeserto.Ocamelotemevoludopara
serrelativamenteautosuficiente.Poroutrolado,ohasnot
cameloevoluiuparacheirarbem.NemtemPerl."(LW:sobreocamelocomoPerlMascot)
(...muitasvezesbrincoqueumcameloumcavalodesenhadoporumcomit,massevocpensarsobre
isso,ocamelomuitobomparaavidanodeserto.adaptada.ocamelotemevoludol,paraserauto
suficiente.Poroutrolado,noevoluiuparaacheirarbem.Perlno.)
"OprpriofactthatpossvelescreverprogramasdesarrumadoemPerl,portanto,oqueotorna
possvelescreverprogramasfezsomaislimpoemPerlqueelesjpoderiamestaremumalinguagem
feztentativasdefazercumpriralimpeza"(L:LinuxWorld,1999)

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 15/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

(ApenasofatodequepossvelescreverprogramasemPerlsujo,queescreverprogramasqueso
maislimpasdoqueemlinguagensquetentamimporlimpezapossvel.)
"Perl:Escrevaumaveznuncaentendonovamente"
(Perl:.Escrevaumaveznuncamaiscompreenderumaalusoaesse"Escrevaumavezrodeem
qualquerlugar"exemplomantrade.Java)

Outrasinformaes
Competies

Em2004Perlalcanadonodia7decompetiodaConfernciaInternacionalsobreoConcursode
ProgramaoFuncionalcolocaonaDivisorelmpagoeganhouosegundolugarde2007.

Vejatambm
mduloPerl

Literatura
Paraosiniciantesdeprogramao

BrigitteJellinek,JuttaHammerleUhl:FcilPerl.MercadoeTecnologia,Munique2001,ISBN38272
61538(aspectoWeb/CGI)
JrgenSchrter:conhecimentosbsicosPerl.OldenbourgVerlag,Muniquede2007,ISBN9783486
580747(tarefasdeprogramaodirias)

ParaPerliniciantes

RandalL.Schwartz,TomPhoenixLearningPerl.O'Reilly,Klnu.A.2005ISBN3897214342(o
livroLama,baseadoemcursoparainiciantes)
LarryWalluA:..AprogramaoPerl.O'Reilly,Klnu.A.,ISBN3897211440(olivrodecamelo,
manual,queincluitodaalinguagem)
JohanVromans:Perlcurtoedoce.,TraduodeInglsv.PeterKlicman,5thEdition,O'Reilly,ISBN
3868991875.(QuickReference)

paraavanada

RandalL.Schwartz,TomPhoenixLearningPerlobjetos,refernciaseMdulos.O'ReillyVerlag2003,
ISBN3897211491(daalpaca,dandocontinuidadeaolivroLama)
JosephN.Hall,RandalL.Schwartz:programaoeficazPerl.AddisonWesleyProfessional1997ISBN
0201419750(forasdePerlutilizamefetivamente)
Christiansen,Torkington:PerlCookbook.O'ReillyVerlag2004,ISBN3897213664(soluode
problemascomexemplosdecdigo)
MarkJasonDominus:HigherOrderPerl.MorganKaufmann,de2005,ISBN1558607013(
programaofuncionalemPerl)

WebLinks
Wikibooks:Perldeprogramaoensinoeaprendizagemmateriais
Commons:Perl(linguagemdeprogramao)(https://commons.wikimedia.org/wiki/Category:Perl_(pr
ogramming_language)?uselang=de)arecolhadeimagens,vdeosearquivosdeudio

FazeraligaocatlogosobrePerl(http://www.dmoz.org/World/Deutsch/Computer/Programmieren/Spra
chen/Perl/)noDMOZ(Alemo)
perl.org/Oficial,muitoextensolocaldePerl(http://www.perl.org/)(informaesgeraisemIngls)
https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 16/17
15/01/2017 Perl(linguagemdeprogramao)Wikipedia

tutorialPerlalemoparainiciantes(http://perlseiten.privat.tonline.de/)
tutorialPerlalemoparainicianteseavanados(http://www.mathe2.unibayreuth.de/perl/inhalt.htm)
MorangoPerl(http://strawberryperl.com/)distribuioPerlcomCompilerSuiteparaoWindows.Deve
permitirafcilinstalaodemdulosdoCPANbinriosparaMSWindows2000eMSWindows7

Referncias
1.manpagedePerl1,0emPerlcronograma(http://history.perl.org/PerlTimeline.html#1980s)emperl.org
(Ingls)
2.entrevistacomfio(http://www.wired.com/wired/archive/8.10/cruise.html?pg=3)emquesto8:10em
2000
3.AprimeirapartedoFAQoficialPerl(http://perldoc.perl.org/perlfaq1.html#What%27sthedifferencebet
ween%22perl%22and%22Perl%22%3F)(Ingls)
4.tabeladetodasasdatasdelanamentodePerl(http://search.cpan.org/dist/perl5.14.2/pod/perlhist.pod)
(documentoPODingls)nadistribuiooficialdoCPAN
5.LarryWallfalarnaOSCON2000(http://www.perl.com/pub/a/2000/10/23/soto2000.html)perl.com
(Ingls)
6.AsdiferenasentrePerl5ePerl6(http://design.perl6.org/Differences.html)perl6.org(Ingls)
7.brevevisogeralsobrePerl6C(hristmas)[1](https://www.heise.de/developer/artikel/LarryWallgibtd
enRakudoPerl6CompileraufMoarVMfuerdenproduktivenEinsatzfrei3055947.html)emheise.de
8.TMTOWTDIemInglsWiktionary
9.Getopt::longa(http://metacpan.org/module/Getopt::Long)noCPAN
10.Listadeportasconhecidas(http://cpan.perl.org/ports/)noCPAN
11.mduloembutidonoCPAN(http://metacpan.org/module/Inline)
12.GNUOctave(http://www.gnu.org/software/octave/)emgnu.org
13.PorPerlModernEnsinaOOcomMoose.(http://www.modernperlbooks.com/mt/2011/03/whymodernp
erlteachesoowithmoose.html)cromtico
14.PerlWorkshopalemo(http://www.perlworkshop.de/)
15.PerlQAHackathon(http://act.qahackathon.org)
16.Porexemplo,PerlPoetryCategoria(http://www.perlmonks.org/index.pl?node=Perl%20Poetry)
perlmonks.org(Ingls)

dadospadro(Sachbegriff):GND:43078369

Retiradode"https://de.wikipedia.org/w/index.php?title=Perl_(Programmiersprache)&oldid=159852159"

Categorias: Wikipedia:Valeapenaler Perl(linguagemdeprogramao) kitdeferramentaslivre


linguagemdescript programaoimperativa

devotaoEstatsticas

Otextoestdisponvelsoba"CreativeCommonsAttribution/ShareAlike"disponvelInformaes
sobreosautoreseosarquivosdemdiaeingebundenerdestatusdelicena(comofotosouvdeos)isso
podeserchamadoumaregraclicando.Possivelmente,oscontedossocadasujeitoacondies
adicionais.AoutilizarestesitevocconcordacomosTermosdeUsoePolticadePrivacidadeconcorda.
WikipdiaumamarcacomercialregistradadaWikimediaFoundation,Inc.

https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 17/17

You might also like