Professional Documents
Culture Documents
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
¶funes(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"
devotaoEstatsticas
Otextoestdisponvelsoba"CreativeCommonsAttribution/ShareAlike"disponvelInformaes
sobreosautoreseosarquivosdemdiaeingebundenerdestatusdelicena(comofotosouvdeos)isso
podeserchamadoumaregraclicando.Possivelmente,oscontedossocadasujeitoacondies
adicionais.AoutilizarestesitevocconcordacomosTermosdeUsoePolticadePrivacidadeconcorda.
WikipdiaumamarcacomercialregistradadaWikimediaFoundation,Inc.
https://de.wikipedia.org/wiki/Perl_(Programmiersprache) 17/17