• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

brnsnt

Linux - Perl

28 mensagens neste tópico

Boas pessoal.

Precisava de uma ajudinha...

Eu instalei o linux no meu pc, e queria usar a consola pa pogramar em perl, mas os comandos nao sao reconhecidos. Alguem me podia dizer o que tenho de instalar para conseguir programar em perl??

Obrigado

abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens de instalar os pacotes do Perl no teu sistema.

Qual é a distribuição que estás a usar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

epa... isso é mesmo esquisito... o perl vem com todas as distribuições... ok... todas todas não sei... mas todas essas mais conhecidas o trazem.

mas que comandos é que estas a falar?

só tens que por o código num ficheiro e interpreta-lo tipo:

perl file.pl

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É curioso este fórum ter um espaço para pascal e não ter para perl... que é uma linguagem bem mais útil e/ou utilizada nos dias que correm.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ubuntu 7.10 TEM perl :D Abre o gedit, escreve algo tipo

$var = 'Hello World'
print $var

Grava com um nome qualquer tipo oteuficheiro.pl, vai à consola e faz como o pedrotuga disse.

Caso não dê:

sudo aptitude install perl

Grande abraço!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É curioso este fórum ter um espaço para pascal e não ter para perl... que é uma linguagem bem mais útil e/ou utilizada nos dias que correm.

Já foi discutido algumas vezes, uma das quais fui eu quem trouxe o tema à discussão.

Apesar de os haver, os programadores profissionais ainda são uma minoria neste fórum, freelancers no antentao já andam por aqui em quantidades mais apreciáveis. Os primeiros seriam teoricamente o grupo de pessoa com maior incidencia de conhecimentos em perl.

Chegou-se à conclusão que o perl não vem muitas vezes à discussão pelo que não há uma secção. Assim como não há uma secção de cobol, tcl, lisp, shellscript, etc. Os assuntos relativos a estas linguagens devem ser discutidos na secção "outras linguagens".

Quanto à secção de pascal, penso que é o efeito microsoft. Pascal e visual basica acabam por populares entre hobistas e autodidatas mais novos devido às ferramentas disponiveis para o windows e tambem pelo facto de ser ensinado nalgumas cadeiras do secundario, acho eu. Pessoalmente tambem acho esta tendencia atrasada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pascal é ensinado como base até na universidade... O que eu acho, como dizem os ingleses, "deprecated". Eu do que aprendi num semestre, fiquei a saber implementar muito pouca coisa, apesar de ter inventado e muito com a linguagem (e de ter implementado um algoritmo que me ocupava 300 linhas de código (e mais tarde vi-o num modulo de Python em 15...) ).

Mas enfim. Perl muito sinceramente é uma coisa que eu ainda vou aprender. Não gosto que me digam "Isso é velho, usa PHP" (dito por um prof).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O teu professor tem alguma razão no que diz.

No que toca a aplicações web de pequeno e médio porte, e mesmo algumas de grande porte, o PHP tomou definitivamente o lugar do perl.

Os usos do perl, pelo que eu me apercebo são pequenos scripts para manutenção de servidores e manupulação de texto, por exemplo leitura de logs, etc.

Para o primeiro, pode usar-se perfeitamente python ou php hoje em dia, é uma questão de mudar de hábito. O que eu ainda não perceci é se o perl é de facto mais pratico para operações de manipulação de texto. Quem o usa diz que sim, eu gostava de sabr porquê, deve haver alguma razão. Se vor de facto verdade eu era mais um que aprenderia perl.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu estou neste momento a trabalhar em Bioinformática e apesar de estar a lidar com webservices, já tive a minha "share" de text-mining (e ainda vou ter mais). Do que li de Perl e de Python (antes de vir para o sitio onde estou, tentei ganhar bases numa das 2), Perl peca pela confusão.. Python é mais simples de entender, ler e escrever. O Perl ainda é usado em vários laboratórios de bioinformática por esse mundo fora por exemplo, mas só ao nível de mestrado e Ph.D. Por isso, há de ter as suas vantagens. Lembro-me de ver por exemplo alguns excertos de código num PDF de perl para bioinformática em que o autor utilizada string replacements de uma maneira absurdamente simples.

Aqui ao lado, um colega meu estava com um problema em aceder a um servidor qualquer. Ele programa em C++. Fartou-se, leu umas cenas de Perl e em menos de 1 hora já tinha o problema resolvido.

Por isso... não sei :D Eu uso Python e estou bem feliz. Mas gostava de tentar Perl um mês destes :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A grande vantagem do Perl é o CPAN, onde há módulos para tudo e mais alguma coisa. É claro que para algumas áreas, outras linguagens também já têm muita coisa feita, mas processamento de texto, por exemplo, ainda não deve haver nenhuma tão bem apetrechada como Perl.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que é hora para precisamente essa discussão.

Isso não será informação desactualizada?

É que o php teve um aparecimento completamente meteórico mas manteve-se lá em cima. Eu costumo pesquisar estas coisas de bibliotecas de coisas como xml, RPCs, parsers, etc. e o que me apercebo é que o php é o primeiro a ter uma opção e muitas vezes até há varias para a mesma finalidade.

Comparando com python por exemplo é notoriamente superior em termos de disponibilidade deste tipo de ferramentas. Não só tem mais como estão muito melhor documentadas.

Mas isto é o que me parece, eu posso estar enganado. Na verdade estou um pouco à procura da dita 'pérola'. Quero dizer:

quero saber quais as vantagens de usar perl, e usa-las.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No Perl também tens muitas alternativas (das poucos complexas e pouco funcionais, até às mais complexas, mas que até fazem francesinhas), e regra geral, bem documentadas. Posso estar enganado, mas parece-me que está à frente do PHP. Na minha opinião, o problema do Perl é que sempre foi considerada uma linguagem um pouco "elitista". Enquanto que vemos muito pessoal a começar a programar com PHP e Python, o Perl está normalmente associado a Geeks. Mas isto também penso que se traduz numa comunidade de Perl muito mais activa, e muito mais participativa no desenvolvimento de módulos para a linguagem, que resulta no gigantesco repositório que é o CPAN.

Não sou nenhum especialista em Perl, e até nem sou grande adepto da linguagem (assim como PHP, Python, etc.), mas de vez enquanto preciso de ferramentas simples (para editar propriedades de ficheiros de música, para mexer em PDFs, e outras coisas mais ou menos simples), e encontro quase sempre um módulo no CPAN que faz o que quero. É a razão pela qual vou tendo algum interesse no Perl, e vou frequentando algumas actividades ligadas ao Perl.

Mesmo para a Web, também existem algumas soluções interessantes, que para aplicações um pouco mais complexas, talvez sejam melhores que o PHP. Mas como quase toda a gente começa a programar para a web com PHP, quase ninguém se lembra de olhar para as alternativas oferecidas pelo Perl, mesmo quando quer coisas mais complexas.

(Alguns do comentário que fiz, são baseados em conversas que tenho com pessoas que usam este tipo de linguagens, e não necessariamente em experiência própria, razão pela qual podem não ser muito fiáveis :D)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Não sou nenhum especialista em Perl, e até nem sou grande adepto da linguagem (assim como PHP, Python, etc.), mas de vez enquanto preciso de ferramentas simples (para editar propriedades de ficheiros de música

Lembrei-me agora de uns scripts em Perl que convertiam rapidamente entre ficheiros de música. Foi a melhor ferramenta que encontrei para a tarefa por exemplo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não conheço nenhma distribuição de GNU/Linux que não seja para dispositivos especiais que não tenha incluído um interpretador de perl por omissão.

É garantido que Ubuntu tem perl por omissão. E tem por várias razões:

* o sistema operativo GNU/Linux é um sistema semelhante a Unix e é uma prática comum nos sitstemas Unix e seus semelhantes terem perl instalado.

* é uma prática generalizada em mais de 95% das distribuições de GNU/Linux ter perl instalado por omissão.

* Ubuntu é um derivado de Debian, e muitas das ferramentas de sistema de Debian usam Perl.

* Eu uso ubuntu e sou um programador de perl e faço as duas coisas profissionalmente todos os dias durante todo o dia e per isso sei do que estou a falar.

Quanto à secção de pascal, penso que é o efeito microsoft

Não é não! O Pascal não tem nada a ver com a m$. E existem compiladores de Pascal para quase todos os sistemas incluindo para os sistemas GNU (nos quais se inclui o GNU/Linux).

O pascal só é usado porque as escolas teimam em utilizar essa linguagem, quando creio haverem outras muito mais adequadas.

Mas enfim. Perl muito sinceramente é uma coisa que eu ainda vou aprender. Não gosto que me digam "Isso é velho, usa PHP" (dito por um prof).

O teu prof não deve conhecer bem o Perl.

O Perl é uma linguagem muito mais capaz que o PHP, e disponível em muito mais plataformas. Não tou com isto a dizer mal do PHP, o PHP tem os seus méritos, e o Perl também tem os seus defeitos. Mas o Perl é uma linguagem razoávelmente moderna em muita coisa e embora também seja desactualizada em outras, não é uma linguagem morta, tem uma Fundação com programadores dedicados a desenvolver a linguagem, e a prova disso é que tá quase a sair a versão 6 do Perl, que é uma evolução brutal na linguagem e que a vai por a par com quase todas, ou mesmo todas as linguagens de programação, pois por exemplo permite a utilização de pelo menos a maioria dos paradigmas de programação e tem as features mais modernas.

Para além disso o Perl é muito utilizado e dá emprego (sim eu conheço várias empresas com muitos programadores de Perl) e é Software Livre tal como o PHP.

Na minha opinião vale a pena aprender Perl. Mais cedo ou mais tarde vai ser util, principalmente se usares ambientes não m$.

No que toca a aplicações web de pequeno e médio porte, e mesmo algumas de grande porte, o PHP tomou definitivamente o lugar do perl.

O PHP é mais popular e mais visível. Não é necessáriamente técnicamente melhor. Aliás é comum as aplicações terem front-ends em PHP, mas terem back-ends em Perl. E sim muitas das aplicações web mais usadas da WWW são em Perl. O Perl apenas é menos visível.

Os usos do perl, pelo que eu me apercebo são pequenos scripts para manutenção de servidores e manupulação de texto, por exemplo leitura de logs, etc.

Apercebes-te muito mal. Mas não és só tu.

Deixa-me dar por exemplo este exemplo:

http://toolbar.netcraft.com/site_report?url=http://www.sapo.pt

Apesár de o PHP ser muito popular o Perl ainda é mais usado na WWW. E tem muito mais utilizações (e é de facto utilizado para muito mais) que apoiar a administração de servidores. Digo-te eu que sou profissionalmente um programadore de Perl. ;)

Isso é um mito urbano sobre o Perl. Como aliás podes ver em: http://www.oreillynet.com/pub/a/oreilly/perl/news/success_stories.html

O que eu ainda não perceci é se o perl é de facto mais pratico para operações de manipulação de texto. Quem o usa diz que sim, eu gostava de sabr porquê, deve haver alguma razão. Se vor de facto verdade eu era mais um que aprenderia perl.

Esse é um dos pontos fortes do Perl, o Perl foi inicialmente desenhado para isso (mais tarde sofreu vários re-desenhos para ser uma linguagem de propósito geral mas manteve sempre isso como um dos pontos fortes). Aliás Perl significa Practical Extraction and Report Language. O Perl combina features de várias outras linguagens desenhadas para processamento de texto, como o AWK e Sed e extendeu-as. Outrass linguagens também são boas para este propósito, mas nenhuma é tão boa quanto o Perl.

Actualmente o Perl é excelente para lidar com muita coisa entre as quais processamento de texto (incluindo html, xml, etc...), lidar com bases de dados, programação orientada ao evento, aplicações em rede, etc... Outros utilizadores do forum já te deram alguns exemplos de outras actualizações e a respeito disso, até já vi sintetizarem música em Perl, programação quantica em Perl e muitas outras coisas interessantes.

Voltando ao tópico :confused:

Podes encontrar o perl em /usr/bin/perl ;)

Já agora junta-te à comunidade de Perl da tua zona http://perl.pt/mongers.html?lang=PT

Happy hacking!!!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Falco, acho que não te estás a aperceber do fenómeno que é a web.

Quando se fala em aplicações web, acredita que o que é verdade hoje não é necessariamente verdade daqui a um ano.

A web está a crescer exponencialmente em termos de quantidade de conteúdo e este é cada vez mais da autoria dos próprios utilizadores que o publicam enquanto membros de um site.

Exemplos?...

wikis

blogs

foruns

redes sociais

etc etc.

Se fizeres uma pesquisa de software de gestão de conteudos, seja um cms normal, um sistema de foruns, um motor de wiki, carrinho de compras, etc.

vais ver que NO Mínimo 90% deste software é escrito em PHP.

Vai a um site de freelancing e compara a procura de perl com a do PHP ou do Java por exemplo.

Portugal anda um pouco atrasado no que toca desenvolvimento. O problema é que andam a descobrir a pólvora no século 21. Tipo... daqui a uns 3 ou 4 anos aparecem em portugal empresas a pedrir programadores de python por exemplo. E nessa altura se for preciso as empresas que o usam agora já descobriram uma tecnologia mais produtiva para o mesmo efeito. Penso que é por isso que o perl é tão pedido em portugal, porque é mais antigo.

Eu andei recentemente à procura de emprego fora de portugal e devo dizer que não vi um único anuncio para programadores de perl. As linguagens que me pediram mais foram mesmo C/C++, java, C#, sql, php e python.

Não percebi o que quiseste dizer com link para o netcraft. De qualquer das formas, par análise de tráfego recomendo o alexa que é muito mais fiável que o netcraft e é hoje em dia a referencia para traffic rankings.

Ja agora fica aqui um exemplo curioso, este software que estamos a usar, o SMF é escrito 100% em PHP mas descende de outro software que era escrito em perl, o yabb. É desenvolvido pela mesma equipa. Assim que mudou para PHP a explosão foi imediata e em menos de um ano ocupou o numero 1 deste tipo de software.

Eu não quero estar a deitar abaixo o perl, só estou a tentar perceber qual é a grande vantagem do seu uso. Tu levantaste a ponta do véu mas acabaste por não explicar em concreto as vantagens.

Quanto a utilização de perl, os meus colegas que o usam, quando lhes pergunto: "porque é que não fazes isso por exemplo em php ou python?", dizem-me: "porque o meu chefe me mandou fazer em perl."

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pedrotuga, ele estava-se a referir ao httpd no netcraft: Apache com mod_perl :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Falco, acho que não te estás a aperceber do fenómeno que é a web.

Boa parte do que faço é desenvolvimento web à vários anos, acompanho bastante perto a evolução da web sei muito bem o que é a web.

Uso wikis à mais anos do que tu deves ter ouvido falar neles...

O php é muito usado e muitas vezes é o front-end de muitas aplicações com back-ends noutras linguagens, mas há muitas aplicações web muito importantes que são em Python e em Perl. Isso dos 90% é exagerado.

O Perl é muito pedido em todo o mundo! E vai continuar a ser pedido porque é uma excelente linguagem para diversos propósitos e porque continua a evoluir.

Eu andei recentemente à procura de emprego fora de portugal e devo dizer que não vi um único anuncio para programadores de perl.

Deves ter procurado muito mal... http://jobs.perl.org/

Eu não quero estar a deitar abaixo o perl, só estou a tentar perceber qual é a grande vantagem do seu uso. Tu levantaste a ponta do véu mas acabaste por não explicar em concreto as vantagens.

É uma linguagem muito produtiva, com bibliotecas para quase tudo, com excelente suporte para bases de dados, processamento de texto e web. Serve melhor para mais propósitos do que o PHP, está disponível em imensas plataformas.

O Perl vale pela sua flexibilidade, universalidade, comunidade, modularidade. Poucas linguagens estão tão evoluídas quanto o Perl neste aspecto.

Só experimentado o Perl durante algum tempo para fazeres coisas diferentes é que podes entender.

Esses teus colegas provavelmente não chegam a conhecer o suficiente do Perl para o entenderem. Ler os livros adequados e ter alguma formação também ajuda a perceber.

Não acredito que um site passe a ser popular por causa da tecnologia que usa, seja ela qual for. Os sites passam a ser populares porque as pessoas passam a sentir necessidade de os utilizar e por eles serem mais divulgados e por vezes demora a que as pessoas sintam essa necessidade.

É muito bom em tudo isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Elaborando agora um pouco mais...

O Perl tem uma grande liberdade sintáctica. Isto faz com que haja mais liberdade para resolver os problemas de mais formas, faz com que o o programador possa adoptar um estilo de código mais próprio. Isto tem a vantagem de tornar o individuo mais produtivo, mas se for aproveitado desregradamente pode criar problemas na legibilidade do código, daí a importância de seguir determinadas boas práticas. Curiosamente os melhores programadores de Perl têm um estilo relativamente semelhante e bastante limpo.

O Perl também permite adoptar diversos paradigmas de programação, e faz isso mais que qualquer outra linguagem (e ainda vai fazer mais na versão 6 do Perl, também isto aumenta a sua flexibilidade e utilidade em mais casos.

O Perl tem uma biblioteca standard muito completa e de muito alta qualidade (tal como o vinho melhora com a idade e o Perl teve muitos anos para evoluir). E tem o CPAN, que tem modulos que para além de complementarem falhas da própria linguagem, permitem dizer que o Perl tem modulos para quase  tudo e se calhar a quadriplicar (implementações de diferentes soluções para o mesmo problema com paradigmas diferentes e features diferentes).

Quase todas as bibliotecas têm bindings para Perl.

O Perl é mais flexível, dá mais liberdade e tem mais soluções prontas para utilizar que qualquer outra linguagem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

$du --max-depth=1 -k | perl -ne '/^8\s+(\S+)/  `rmdir $1` '

Só mais um exemplo dos que vou encontrando pela net do poder de Perl. Esta linha de código remove directorias vazias numa directoria mãe.. Com uma linha...0.o

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

anaryn,

assim de rajada eu diria que isso é shellscript com ou pouco de perl. Mas ok,é capaz de ser um exemplo valido sim senhor.

falco, eu tambem sou mais ou menos da velha guarda, tambem por aqui andava quando se começou a falar nas wiki webs. Inclusive lembro-me da noticia que dava conta do conceito e do primeiro wiki, que acho que ainda anda por aí online.

Atenção, eu não estou a querer detar abaixo o perl nem nada disso. Simplesmente estou a tentar perceber porque é que é tão elogiado pelos seus utilizadores. Mas estou a ver que única forma de constatar ( ou rebater ) essa ideia é mesmo aprendendo perl. Por isso espero retomar esta discussão quando souber progrmar em perl, pois não vale a pena estar aqui a aqui a falar duma coisa da qual não tenho conhecimento.

Mas há uma coisa que é inegável: mais ou menos usado de facto, visivel ou não de momento, o perl já teve o brilho que o php tem agora mas foi completamente ofuscado.

Ja agora fica aquiuma pergunta: falco e anaryn, voces já desenvolveram em PHP ou python?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não me tomes por Perl guru! Eu só sei o print :P E definir variáveis. Mais nada...

Eu desenvolvo em Python essencialmente :) (Estou há 2 meses a trabalhar com Python) E sim, é bastante mais simples e prático. Perl tem a desvantagem da confusão brutal no código...

Quanto a PHP, também nunca olhei para ele :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
assim de rajada eu diria que isso é shellscript com ou pouco de perl.

A parte que usa o du, também poderia estar em perl...

Mas há uma coisa que é inegável: mais ou menos usado de facto, visivel ou não de momento, o perl já teve o brilho que o php tem agora mas foi completamente ofuscado.

Eu nego! E acho negável. O Perl pode não ser tão popular, mas daí a ter sido completamente obfuscado, é um enorme exagero!

Ja agora fica aquiuma pergunta: falco e anaryn, voces já desenvolveram em PHP ou python?

Em Python já, foi das primeiras linguagens que utilizei, e ainda utilizo para fazer protótipos e outras coisas.

Em PHP nunca me meti a sério, mas já tive em projectos em que se utilizava PHP.

Perl tem a desvantagem da confusão brutal no código...

Não é tão simples quanto o Python, mas se seguires determinadas boas práticas, não fica uma confusão brutal, apenas não é tão obvio quanto o Python.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas há uma coisa que é inegável: mais ou menos usado de facto, visivel ou não de momento, o perl já teve o brilho que o php tem agora mas foi completamente ofuscado.

Eu nego! E acho negável. O Perl pode não ser tão popular, mas daí a ter sido completamente obfuscado, é um enorme exagero!

Verdade seja dita, segundo o TIOBE, PERL tem perdido vertiginosamente popularidade desde à 2 anos atrás.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora