From a.r.ferreira at gmail.com Tue Dec 5 04:23:51 2006 From: a.r.ferreira at gmail.com (Adriano Ferreira) Date: Tue, 5 Dec 2006 10:23:51 -0200 Subject: [Triangulo-pm] =?iso-8859-1?q?Introdu=E7=E3o?= Message-ID: <73ddeb6c0612050423s530f37f8n41e97ecef16f4a66@mail.gmail.com> Esta ? a primeira mensagem da lista de discuss?o Triangulo-pm. O Triangulo-pm ? um grupo rec?m-criado de desenvolvedores Perl do Tri?ngulo Mineiro. Contamos com ajuda dos assinantes da lista para divulgar este canal de comunica??o para outras pessoas que possam estar interessadas. N?o interessa o n?vel de familiaridade com Perl que tenhamos: iniciantes, curiosos, estudantes, entendiados, fan?ticos por comunica??o via e-mail, desenvolvedores procurando respostas ou programadores que querem ampliar seus horizontes. Nas pr?ximas mensagens, tentaremos iniciar com assuntos de interesse geral (que s?o razoavelmente b?sicos). Como n?o sabemos ao certo o perfil de voc?s que est?o cadastrados, dependemos de retorno para adequar o foco ao que interessa para voc?s. Sejam muito bem vindos. Fa?am as sugest?es e perguntas que quiserem. Adriano Ferreira Nota 1. O arquivo das mensagens desta lista estar? dispon?vel em http://mail.pm.org/pipermail/triangulo-pm/ Nota 2. Voc? pode inscrever-se na lista e sair quando bem entender. Estas opera??es s?o acess?veis a partir da URL http://mail.pm.org/mailman/listinfo/triangulo-pm From a.r.ferreira at gmail.com Tue Dec 5 05:50:16 2006 From: a.r.ferreira at gmail.com (Adriano Ferreira) Date: Tue, 5 Dec 2006 11:50:16 -0200 Subject: [Triangulo-pm] Perl em Windows Message-ID: <73ddeb6c0612050550o6951973et6c0f1cb6b6e081d@mail.gmail.com> (Esta mensagem ficou bem grandinha, mas seu conte?do ? informativo e interessante para os que querem programar Perl em Windows e ainda n?o tem instalado.) Para os pobre coitados (como eu) que tem de trabalhar em m?quinas com Windows, existem Perl's para tornar a vida mais divertida nestes sistemas operacionais tamb?m. Se voc? ainda n?o tem Perl instalado, escolha uma das instala??es a seguir. Existem outras mas estas s?o as mais conhecidas. * ActiveState Perl Os pioneiros do interpretador Perl em Windows (http://activestate.com/). Entre os seus desenvolvedores, est?o alguns programadores da equipe de desenvolvimento do interpretador Perl (Perl 5 porters). http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.819-MSWin32-x86-267479.msi A instala??o ? uma brisa: fa?a o download e instale. Dica: evite sofrimento -- escolha um caminho que n?o contenha espa?os ou acentos no nome (quer dizer, nada de "c:\Program Files\perl" ou "c:\Jos?Roberto\perl"). Nota: a instala??o de alguns m?dulos avan?ados pode requerer uma instala??o do compilador Microsoft C na m?quina. Eu disse "Pode", porque existem outros meios (que n?o s?o perfeitos mas funcionam para v?rios casos). * Vanilla Perl Foi criado h? pouco tempo um projeto para expandir o uso de Perl em Windows totalmente baseado em c?digo open-source. A p?gina do projeto est? em http://win32.perl.org/ Um dos produtos do projeto ? a vers?o experimental chamada Vanilla Perl, que al?m do interpretador Perl, traz um compilador C (gcc) e dmake para maximizar o acesso a diferentes m?dulos open-source para Perl. Voc? pode ler sobre o Vanilla Perl em http://vanillaperl.com/ e o instalador est? aqui: http://vanillaperl.com/files/vanilla-perl-5.8.8-build-7.exe T?o f?cil para instalar quanto o da ActiveState. No entanto, ser? sempre colocado em "c:\vanilla-perl". * Cygwin Perl Existe um ambiente de emula??o Linux para Windows. ? o Cygwin (http://cygwin.com/) que prov? todas ferramentas familiares ao habituado em Unix: grep, find, gcc, rsync, make, etc. Entre estas ferramentas familiares, est? tamb?m o interpretador Perl. Busque o instalador na URL http://cygwin.com/setup.exe e na hora de selecionar os pacotes a serem instalados, n?o esque?a de incluir "Devel/make", "Devel/gcc", "Perl/perl", e "Perl/perl-libwin32". * seu pr?prio Perl Perl ? open source. Ent?o voc? (com a ajuda de um compilador C e mais alguns programas auxiliares - nmake ou dmake, etc.) pode compilar seu pr?prio interpretador para seu uso. N?o ? recomend?vel para principiantes sem (muito) esp?rito de explora??o. O c?digo fonte da ?ltima vers?o de Perl (5.8.8) est? aqui e as instru??es l? dentro: http://search.cpan.org/CPAN/authors/id/N/NW/NWCLARK/perl-5.8.8.tar.gz Cada uma destas op??es t?m seus pontos fortes e fracos. Entre os fatores importantes, est? a disponibilidade de um compilador C que torna acess?vel toda uma diversidade sem fim de m?dulos em Perl. O compilador ? necess?rio quando os m?dulos s?o h?bridos: uma parte escrita em Perl e outra em C. Sem o compilador, pode n?o ser poss?vel instalar alguns m?dulos em seu ambiente Perl. Mas como tudo depende, alguns casos tem alternativas. Esta mensagem foi sobre Perl em Windows. Mas e em Unix? H? Perl em toda m?quina Unix :) No shell, fa?a: $ perl -v E descubra a vers?o que voc? tem instalado. A vers?o mais recente de produ??o ? 5.8.8. Se voc? usa Unix, provavelmente sabe como instalar pacotes (RPMs, etc.) e pode atualizar o seu interpretador Perl facilmente. Se n?o sabe, descobriremos juntos como fazer -- informe sua arquitetura e distribui??o Unix e acharemos o estilo apropriado da instala??o de Perl para o seu OS. (Dica: em geral ? bem f?cil comparado com Windows.) Sauda??es, Adriano Ferreira From a.r.ferreira at gmail.com Wed Dec 6 04:54:21 2006 From: a.r.ferreira at gmail.com (Adriano Ferreira) Date: Wed, 6 Dec 2006 10:54:21 -0200 Subject: [Triangulo-pm] Exemplo: Extraindo de texto da web Message-ID: <73ddeb6c0612060454h1a934aeetf797227c0e7b6008@mail.gmail.com> Entre as v?rias capacidades de Perl, vale citar: (1) Perl ? forte em protocolos de rede, com suporte para uma infinidade deles (SMTP, HTTP, HTTPS, POP, LDAP, DNS, etc., etc.) (2) Express?es regulares s?o um show de bola. O exemplo a seguir demonstra o uso (simpl?rio) de LWP combinado com express?es regulares. O prop?sito do c?digo (concentrado na sub fetch) ? fazer o download de uma URL e, se ela combinar com a express?o regular dada, retornar o primeiro grupo encontrado. #!perl use strict; use warnings; use LWP::UserAgent; =over 4 =item B my $text = fetch($url, $regex [, $http_proxy]); Busca uma p?gina de HTML endere?ada por C<$url> e, se o conte?do combina com a express?o regular C<$regex>, retorna o texto encontrado. my $url = 'http://foo'; my $text = fetch($url, qr/(.*?)/); print "Texto: $text\n" if $text; =back =cut sub fetch { my $url = shift; my $regex = shift; my $http_proxy = shift; my $ua = LWP::UserAgent->new; $ua->proxy(['http'], $http_proxy) if $http_proxy; my $r = $ua->get($url); if ($r->is_success) { return ($r->content =~ /$regex/) ? $1 : undef; } else { die $r->status_line; } } my $url = 'http://mail.pm.org/pipermail/triangulo-pm/2006-December/thread.html'; my $re = qr|
  • \[Triangulo-pm\] (.*?)$|m; # Esta express?o regular foi projetada para combinar e extrair # "Perl em Windows" em textos como: #
  • [Triangulo-pm] Perl em Windows # tire o coment?rio e edite se voc? est? atr?s de um proxy #my $proxy = 'http://user:pass at proxy-name-or-ip:3128/'; # como estou atr?s de um proxy com autentica??o, preciso # de definir este terceiro argumento (que ? opcional) # com usu?rio e senha my $text = fetch($url, $re, $proxy); print "Texto: $text\n" if $text; O download ? feito com o m?dulo LWP::UserAgent (que embora n?o fa?a parte da distribui??o padr?o) j? vem instalado com ActiveState Perl e n?o deve ser dif?cil de instalar nas outras configura??es. O exemplo dado busca a lista de mensagens do Triangulo-pm at pm.org neste m?s de dezembro e retorna o t?tulo da primeira mensagem na p?gina. Para construir a express?o regular correspondente, foi usado um browser para visualizar o HTML da p?gina e ent?o escrever algo que funcionasse. Fora as inumer?veis linhas de coment?rios do exemplo, o n?cleo do c?digo ? bem pequeno e pode ser facilmente estendido para fazer coisas mais ?teis: todas as ocorr?ncias da regex, explorar diversas p?ginas, etc. D?vidas, coment?rios, corre??es: s?o todos bem vindos. Adriano Ferreira P.S. Para facilitar a vida de quem gostaria de experimentar com o c?digo acima, eu o repeti no attachment sem a indenta??o usada aqui na mensagem. -------------- next part -------------- A non-text attachment was scrubbed... Name: fetch.pl Type: application/octet-stream Size: 1328 bytes Desc: not available Url : http://mail.pm.org/pipermail/triangulo-pm/attachments/20061206/b4be39db/attachment.obj From thexakal at yahoo.com.br Wed Dec 6 08:17:52 2006 From: thexakal at yahoo.com.br (Elias Chacon) Date: Wed, 6 Dec 2006 08:17:52 -0800 (PST) Subject: [Triangulo-pm] Res: Triangulo-pm Digest, Vol 1, Issue 1 Message-ID: <20061206161752.83665.qmail@web56209.mail.re3.yahoo.com> Bem. Como n?o fujo ? regra, no meu servi?o eu tenho que usar windows. Por?m, eu j? uso aqui o cygwin para outros fins e percebi que j? tenho o perl instalado. Sua vers?o ? 4.8.7. Isso por que, sempre que eu instalo o cygwin eu j? escolho os pacotes do gcc e perl e outros, pois s?o essenciais para compilar alguns sources que n?o possuem instala??o pelo cygwin setup. a{color:#9999ff}.i{width:12px;heigth:12px}Elias A. Chacon webmaker to world! ICQ:39509526 theX home-page thexakal at hotmail.com thexakal at yahoo.com.br ----- Mensagem original ---- De: "triangulo-pm-request at pm.org" Para: triangulo-pm at pm.org Enviadas: Ter?a-feira, 5 de Dezembro de 2006 17:00:55 Assunto: Triangulo-pm Digest, Vol 1, Issue 1 Send Triangulo-pm mailing list submissions to triangulo-pm at pm.org To subscribe or unsubscribe via the World Wide Web, visit http://mail.pm.org/mailman/listinfo/triangulo-pm or, via email, send a message with subject or body 'help' to triangulo-pm-request at pm.org You can reach the person managing the list at triangulo-pm-owner at pm.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Triangulo-pm digest..." Today's Topics: 1. Introdu??o (Adriano Ferreira) 2. Perl em Windows (Adriano Ferreira) ---------------------------------------------------------------------- Message: 1 Date: Tue, 5 Dec 2006 10:23:51 -0200 From: "Adriano Ferreira" Subject: [Triangulo-pm] Introdu??o To: "Triangulo-pm Perl Mongers" Message-ID: <73ddeb6c0612050423s530f37f8n41e97ecef16f4a66 at mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Esta ? a primeira mensagem da lista de discuss?o Triangulo-pm. O Triangulo-pm ? um grupo rec?m-criado de desenvolvedores Perl do Tri?ngulo Mineiro. Contamos com ajuda dos assinantes da lista para divulgar este canal de comunica??o para outras pessoas que possam estar interessadas. N?o interessa o n?vel de familiaridade com Perl que tenhamos: iniciantes, curiosos, estudantes, entendiados, fan?ticos por comunica??o via e-mail, desenvolvedores procurando respostas ou programadores que querem ampliar seus horizontes. Nas pr?ximas mensagens, tentaremos iniciar com assuntos de interesse geral (que s?o razoavelmente b?sicos). Como n?o sabemos ao certo o perfil de voc?s que est?o cadastrados, dependemos de retorno para adequar o foco ao que interessa para voc?s. Sejam muito bem vindos. Fa?am as sugest?es e perguntas que quiserem. Adriano Ferreira Nota 1. O arquivo das mensagens desta lista estar? dispon?vel em http://mail.pm.org/pipermail/triangulo-pm/ Nota 2. Voc? pode inscrever-se na lista e sair quando bem entender. Estas opera??es s?o acess?veis a partir da URL http://mail.pm.org/mailman/listinfo/triangulo-pm ------------------------------ Message: 2 Date: Tue, 5 Dec 2006 11:50:16 -0200 From: "Adriano Ferreira" Subject: [Triangulo-pm] Perl em Windows To: "Triangulo-pm Perl Mongers" Message-ID: <73ddeb6c0612050550o6951973et6c0f1cb6b6e081d at mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed (Esta mensagem ficou bem grandinha, mas seu conte?do ? informativo e interessante para os que querem programar Perl em Windows e ainda n?o tem instalado.) Para os pobre coitados (como eu) que tem de trabalhar em m?quinas com Windows, existem Perl's para tornar a vida mais divertida nestes sistemas operacionais tamb?m. Se voc? ainda n?o tem Perl instalado, escolha uma das instala??es a seguir. Existem outras mas estas s?o as mais conhecidas. * ActiveState Perl Os pioneiros do interpretador Perl em Windows (http://activestate.com/). Entre os seus desenvolvedores, est?o alguns programadores da equipe de desenvolvimento do interpretador Perl (Perl 5 porters). http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.819-MSWin32-x86-267479.msi A instala??o ? uma brisa: fa?a o download e instale. Dica: evite sofrimento -- escolha um caminho que n?o contenha espa?os ou acentos no nome (quer dizer, nada de "c:\Program Files\perl" ou "c:\Jos?Roberto\perl"). Nota: a instala??o de alguns m?dulos avan?ados pode requerer uma instala??o do compilador Microsoft C na m?quina. Eu disse "Pode", porque existem outros meios (que n?o s?o perfeitos mas funcionam para v?rios casos). * Vanilla Perl Foi criado h? pouco tempo um projeto para expandir o uso de Perl em Windows totalmente baseado em c?digo open-source. A p?gina do projeto est? em http://win32.perl.org/ Um dos produtos do projeto ? a vers?o experimental chamada Vanilla Perl, que al?m do interpretador Perl, traz um compilador C (gcc) e dmake para maximizar o acesso a diferentes m?dulos open-source para Perl. Voc? pode ler sobre o Vanilla Perl em http://vanillaperl.com/ e o instalador est? aqui: http://vanillaperl.com/files/vanilla-perl-5.8.8-build-7.exe T?o f?cil para instalar quanto o da ActiveState. No entanto, ser? sempre colocado em "c:\vanilla-perl". * Cygwin Perl Existe um ambiente de emula??o Linux para Windows. ? o Cygwin (http://cygwin.com/) que prov? todas ferramentas familiares ao habituado em Unix: grep, find, gcc, rsync, make, etc. Entre estas ferramentas familiares, est? tamb?m o interpretador Perl. Busque o instalador na URL http://cygwin.com/setup.exe e na hora de selecionar os pacotes a serem instalados, n?o esque?a de incluir "Devel/make", "Devel/gcc", "Perl/perl", e "Perl/perl-libwin32". * seu pr?prio Perl Perl ? open source. Ent?o voc? (com a ajuda de um compilador C e mais alguns programas auxiliares - nmake ou dmake, etc.) pode compilar seu pr?prio interpretador para seu uso. N?o ? recomend?vel para principiantes sem (muito) esp?rito de explora??o. O c?digo fonte da ?ltima vers?o de Perl (5.8.8) est? aqui e as instru??es l? dentro: http://search.cpan.org/CPAN/authors/id/N/NW/NWCLARK/perl-5.8.8.tar.gz Cada uma destas op??es t?m seus pontos fortes e fracos. Entre os fatores importantes, est? a disponibilidade de um compilador C que torna acess?vel toda uma diversidade sem fim de m?dulos em Perl. O compilador ? necess?rio quando os m?dulos s?o h?bridos: uma parte escrita em Perl e outra em C. Sem o compilador, pode n?o ser poss?vel instalar alguns m?dulos em seu ambiente Perl. Mas como tudo depende, alguns casos tem alternativas. Esta mensagem foi sobre Perl em Windows. Mas e em Unix? H? Perl em toda m?quina Unix :) No shell, fa?a: $ perl -v E descubra a vers?o que voc? tem instalado. A vers?o mais recente de produ??o ? 5.8.8. Se voc? usa Unix, provavelmente sabe como instalar pacotes (RPMs, etc.) e pode atualizar o seu interpretador Perl facilmente. Se n?o sabe, descobriremos juntos como fazer -- informe sua arquitetura e distribui??o Unix e acharemos o estilo apropriado da instala??o de Perl para o seu OS. (Dica: em geral ? bem f?cil comparado com Windows.) Sauda??es, Adriano Ferreira ------------------------------ _______________________________________________ Triangulo-pm mailing list Triangulo-pm at pm.org http://mail.pm.org/mailman/listinfo/triangulo-pm End of Triangulo-pm Digest, Vol 1, Issue 1 ****************************************** _______________________________________________________ O Yahoo! est? de cara nova. Venha conferir! http://br.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/triangulo-pm/attachments/20061206/1618d55d/attachment.html From a.r.ferreira at gmail.com Wed Dec 6 08:31:14 2006 From: a.r.ferreira at gmail.com (Adriano Ferreira) Date: Wed, 6 Dec 2006 14:31:14 -0200 Subject: [Triangulo-pm] Perl em Windows In-Reply-To: <73ddeb6c0612050550o6951973et6c0f1cb6b6e081d@mail.gmail.com> References: <73ddeb6c0612050550o6951973et6c0f1cb6b6e081d@mail.gmail.com> Message-ID: <73ddeb6c0612060831q1eb3737ct59caeeda87d865c4@mail.gmail.com> On 12/6/06, Elias Chacon wrote: > > > Bem. > Como n?o fujo ? regra, no meu servi?o eu tenho que usar windows. > Por?m, eu j? uso aqui o cygwin para outros fins e percebi que j? tenho o perl instalado. > Sua vers?o ? 4.8.7. > Isso por que, sempre que eu instalo o cygwin eu j? escolho os pacotes do gcc e perl e outros, pois s?o essenciais para compilar alguns sources que n?o possuem instala??o pelo cygwin setup. > De fato. Mesmo sem instalar explicitamente o Perl, v?rios pacotes v?o traz?-lo como depend?ncia. E no Cygwin, o 5.8.7 ? de fato a vers?o mais recente dispon?vel no sistema de distribui??o deles. Para a maioria dos usos, a diferen?a entre o 5.8.7 e 5.8.8 ? pequena. > Elias A. Chacon webmaker to world! > ICQ:39509526 > theX home-page > thexakal at hotmail.com > thexakal at yahoo.com.br > > Date: Tue, 5 Dec 2006 11:50:16 -0200 > From: "Adriano Ferreira" > Subject: [Triangulo-pm] Perl em Windows > To: "Triangulo-pm Perl Mongers" > Message-ID: > <73ddeb6c0612050550o6951973et6c0f1cb6b6e081d at mail.gmail.com> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > * Cygwin Perl > > Existe um ambiente de emula??o Linux para Windows. > ? o Cygwin (http://cygwin.com/) que prov? todas > ferramentas familiares ao habituado em Unix: > grep, find, gcc, rsync, make, etc. > Entre estas ferramentas familiares, est? tamb?m > o interpretador Perl. > > Busque o instalador na URL > > http://cygwin.com/setup.exe > > e na hora de selecionar os pacotes a serem instalados, > n?o esque?a de incluir "Devel/make", "Devel/gcc", > "Perl/perl", e "Perl/perl-libwin32". From a.r.ferreira em gmail.com Wed Dec 6 09:49:29 2006 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Wed, 6 Dec 2006 15:49:29 -0200 Subject: [Triangulo-pm] O CPAN Message-ID: <73ddeb6c0612060949y1ea43049t9b1d07ffdd07859@mail.gmail.com> O CPAN (Comprehensive Perl Archive Network - algo como a Rede Abrangente de Arquivos Perl) é um dos maiores patrimônios da comunidade de desenvolvimento Perl. http://cpan.org/ Hoje (6/Dez/2006) o CPAN contém a bagatela de 10887 módulos por 5557 autores diferentes (nem todos ativos). O CPAN também é distribuído pelo mundo inteiro com 280 espelhos/mirrors. Lá é possível encontrar módulos de IA (inteligência artificial), interfaces gráficas, cálculo numérico e mais, muito mais. Uma das interfaces mais úteis e conhecidas é o site http://search.cpan.org/ Por ela, você pode buscar módulos por nomes, autores, etc. Você pode também acompanhar os últimos módulos a entrar no arquivo: http://search.cpan.org/recent Dê uma olhada nesta página para ter idéia do movimento atual de desenvolvedores Perl que publicam seu código em um formato open source no maior repositório Perl existente. O CPAN é alimentado através do PAUSE (The Perl Authors Upload Server). http://pause.perl.org/ Para saber mais, leia o FAQ (Frequently Asked Questions - Perguntas Freqüentes) que está em http://pause.perl.org/pause/query?ACTION=pause_04about Qualquer pessoa pode publicar seu código no CPAN. No entanto, para fazê-lo de maneira que outras pessoas vão aproveitar, precisa conhecer as convenções das distribuições Perl, usar uma licença open-source, além de mais alguns aspectos como questões sobre 'namespaces'. Se você procurar por LWP, vai descobrir que é um módulo que faz parte da distribuição libwww-perl, que também pode ser acessada pela página: http://search.cpan.org/dist/libwww-perl/ A distribuição pode ser carregada pelo link "Download" que leva a http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.805.tar.gz Faça o download, descomprima o arquivo que vai criar um diretório libwww-perl-5.805/ Lá dentro execute os comandos $ perl Makefile.PL $ make $ make test $ # make install ou em Windows: > perl Makefile.PL > nmake > nmake test > REM nmake install Para o Vanilla Perl, substitua 'nmake' por 'dmake'. Se tudo deu certo, você é um felizardo. Caso contrário, não se desespere -- o problema pode ser a falta de outras distribuições que não estão instaladas e de que libwww-perl depende. Se um dos comandos deu errado, em geral não vai adiantar prosseguir. Amanhã veremos um método mais racional e automático de buscar módulos no CPAN e instalá-los (possivelmente buscando e instalando suas dependências). Nota. Ambos comandos de instalação "# make install" e "REM nmake install" estão comentados. Remova o comentário e use-os se sabe o que está fazendo. Dúvidas, comentários, correções: são todos bem vindos. Adriano Ferreira From cleveranjos em gmail.com Wed Dec 6 13:51:23 2006 From: cleveranjos em gmail.com (Clever Anjos) Date: Wed, 6 Dec 2006 19:51:23 -0200 Subject: [Triangulo-pm] Perl 6 Message-ID: <6a87d54b0612061351v8cc2fabxff56bbe99be86e2e@mail.gmail.com> Pessoal, estive lendo um artigo sobre o Perl 6 http://www.drdobbs.com/dept/lightlang/184416233 Alguém aí já "brincou" com o bicho? -- Clever Anjos cleveranjos at gmail.com http://palav.blogspot.com Leve tudo na sua vida a sério, menos você mesmo... A gente não para de rir ao envelhecer, mas envelhece quando para de rir -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/triangulo-pm/attachments/20061206/12105f72/attachment.html From a.r.ferreira em gmail.com Thu Dec 7 01:53:47 2006 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Thu, 7 Dec 2006 07:53:47 -0200 Subject: [Triangulo-pm] Perl 6 In-Reply-To: <6a87d54b0612061351v8cc2fabxff56bbe99be86e2e@mail.gmail.com> References: <6a87d54b0612061351v8cc2fabxff56bbe99be86e2e@mail.gmail.com> Message-ID: <73ddeb6c0612070153v28e0fb63l56595ba4b997d271@mail.gmail.com> On 12/6/06, Clever Anjos wrote: > Pessoal, estive lendo um artigo sobre o Perl 6 > http://www.drdobbs.com/dept/lightlang/184416233 > Alguém aí já "brincou" com o bicho? Já tive oportunidade de experimentar com Perl 6. Antes com o PXPerl que era um pacote contendo a última versão de produção para Perl 5, Parrot (a máquina virtual para o futuro Perl 6 e outras linguagens dinâmicas) e Pugs (o primeiro interpretador Perl 6). O PXPerl me permitiu experimentar com estes projetos porque provia binários já compilados para Windows. Não estando em Unix, não é fácil ter todas as dependências funcionando. Assim o pacote era uma mão na roda para quem queria brincar com estas tecnologias emergentes de Perl. O último pacote pode ser carregado aqui: http://www.bumpersoft.com/Programming/Interpreters_and_Compilers/Review_10987_index.htm Mas o projeto do PXPerl perdeu impulso e não foi mais atualizado. Mas é recente o suficiente para permitir uma vislumbrada no que vem por aí. Outro brinquedo bem mais recente é o interpretador Perl 6 que pode ser acessado via browser no endereço http://run.pugscode.org/ Lá você pode testar os primeiros comandos em Perl 6. Por exemplo, pugs> (1, 2, 3) >>+<< (3, 2, 1) # hiper-operadores (4, 4, 4) pugs> sub f($a, $b) { $a * $b }; f(2, 6) # funções com parâmetros nomeados 12 pugs> "Hello, world!".say # strings tem status de objetos de primeira classe Hello, world! Bool::True O Perl 6 está se desenvolvendo rapidamente e deve se tornar uma senhora linguagem de programação. Pelo seu projeto, toda a base de conhecimento representada pelos módulos no CPAN será acessível através do Perl 6. Isto significa que o Perl 6 na verdade acrescenta uma sintaxe melhorada para o que já tínhamos em Perl 5. Apesar de tudo, o Perl 6 precisará de tempo para tornar-se maduro. Questões sobre o fechamento dos últimos detalhes da linguagem e eficiência ainda o deixam distante do estado atual do Perl 5. A última brincadeira dos desenvolvedores é que a data de release do Perl 6 será no Natal, mas não dizem Natal de que ano. E, mais importante, quando acontecer, será Natal todos os dias. Adriano Ferreira. From a.r.ferreira em gmail.com Tue Dec 12 09:02:03 2006 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Tue, 12 Dec 2006 15:02:03 -0200 Subject: [Triangulo-pm] =?iso-8859-1?q?QUIZ=3A_Inseguran=E7a_no_Windows?= Message-ID: <73ddeb6c0612120902j7c9e7a5endbf2b96bad18afa3@mail.gmail.com> Em Unix, quando você quer rodar um arquivo executável em particular, você provê um caminho (relativo ou absoluto): $ ~/bin/my-backup.sh $ ./doit.pl Quando você confia no PATH atual, você pode deixar ao shell a tarefa de encontrar o programa, informando apenas o nome do arquivo. $ ls $ which ls # para saber qual o programa invocado /usr/bin/ls Em Windows, existe historicamente o mau hábito de buscar o arquivo executável primeiramente no diretório atual e depois no PATH. Em Unix, o diretório atual pode ser colocado no PATH -- quando o usuário assume o risco. Mas em Windows, esteja ou não no PATH, o diretório corrente vai ser usado. Por quê isto é inerentemente inseguro? [NOTA. Estas perguntas são para ver se despertamos a lista para uma maior participação. OUTRA NOTA. Embora não tenha a ver com Perl especificamente, este foi um tópico comentado há alguns meses entre os desenvolvedores Perl. Este e outros detalhes do mesmo calibre é que fazem o Windows tão FOOBAR - fucked beyond all repair.] From thexakal em yahoo.com.br Wed Dec 13 03:18:02 2006 From: thexakal em yahoo.com.br (Elias Chacon) Date: Wed, 13 Dec 2006 03:18:02 -0800 (PST) Subject: [Triangulo-pm] =?iso-8859-1?q?Res=3A_Inseguran=E7a_no_Windows?= Message-ID: <20061213111802.56728.qmail@web56206.mail.re3.yahoo.com> Se eu fizer um programinha em shell ( .bat ) chamado cmd com um del *.* e colocá-lo no raiz, então ele será executado! Experimente... O meu teste foi o seguinte: Criei um cmd.bat no diretório do usuário atual. O conteúdo: @echo off echo "Eu posso fazer o que eu quiser aqui!" Se você mandar um Iniciar->Executar->CMD... Voilá! Eu posso fazer o que eu quiser aqui! Abraços! a{color:#9999ff}.i{width:12px;heigth:12px}Elias A. Chacon webmaker to world! ICQ:39509526 theX home-page thexakal at hotmail.com thexakal at yahoo.com.br _______________________________________________________ O Yahoo! está de cara nova. Venha conferir! http://br.yahoo.com -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/triangulo-pm/attachments/20061213/6cbf739b/attachment.html From ff em dirpd.ufu.br Wed Dec 13 10:35:22 2006 From: ff em dirpd.ufu.br (=?iso-8859-1?q?Fl=E1vio_Fonseca?=) Date: Wed, 13 Dec 2006 16:35:22 -0200 Subject: [Triangulo-pm] =?iso-8859-1?q?Res=3A_Inseguran=E7a_no_Windows?= In-Reply-To: <20061213111802.56728.qmail@web56206.mail.re3.yahoo.com> References: <20061213111802.56728.qmail@web56206.mail.re3.yahoo.com> Message-ID: <200612131635.22388.ff@dirpd.ufu.br> Particularmente eu abomino o windows, mas a coisa nao pode ser assim tão bagunçada. Infelizmente usuários linux quando vao para o mundo windows vivem segundo o mundo azul. Ou seja, no linux todos seguimos as recomendaçoes de não ficarmos usando usuário root. Se vc fizer isso no windows também isso vai mudar a história, vc nao consegue apagar tudo que ve pela frente. Por outro lado, se vc quiser jogar assim aplique as mesmas regras no linux: como root crie um arquivo /bin/ls com o conteúdo echo echo "Eu posso fazer o que eu quiser aqui!" chmod +755 /bin/ls Execute o comando ls de qquer lugar do linux, com qualquer usuário que ele vai imprimir o mesmo texto do windows. troque o comando echo acima para rm -rf / que vc vai ver seu sistema operacional desaparecer diante de seus olhos. Para garantir que qquer um pode detonar seu sistema faça um chmod +s /bin/ls. Assim até o linux fica igual o windows. Acho que nessa questão o que realmente pega é a educação ou mesmo adestramento. Quando usamos linux obedecemos as regras de segurança básicas. Quando usamos windows queremos com esse usuário poder fazer tudo, instalar qquer programa, mudar configuração, formatar , etc. Simplesmente sempre usamos o windows com o equivalente ROOT dele. Se vc usar o linux sempre como root vai aprender pelo método difícil. Salvo algumas distribuições mais estilo windows (como o antigo conectiva) que criava o alias para rm como rm -i a chance de fazer besteira no Linux é maior que no windows. sempre que vc faz um del *,* o window pergunta se vc tem certeza..., o linux nao!. Quando vc se arrepender será tarde demais. Vc nao instala nada no linux sem senha de root (a menos que seja no seu proprio home para vc usar e no windows isso também pode ser feito). Concluindo: que para mim o windows é uma grande M***** é. Mas sou contra injustiças. Pesar dois fatos com medidas diferentes não é justo. E reforçando mais uma vez: eu odeio windows! att. Flávio On Wednesday 13 December 2006 09:18, Elias Chacon wrote: > Se eu fizer um programinha em shell ( .bat ) chamado cmd com um del *.* e > colocá-lo no raiz, então ele será executado! Experimente... > O meu teste foi o seguinte: > Criei um cmd.bat no diretório do usuário atual. O conteúdo: > @echo off > echo "Eu posso fazer o que eu quiser aqui!" > Se você mandar um Iniciar->Executar->CMD... Voilá! > Eu posso fazer o que eu quiser aqui! > > Abraços! > > > a{color:#9999ff}.i{width:12px;heigth:12px}Elias A. Chacon webmaker to > world! ICQ:39509526 > theX home-page > thexakal em hotmail.com > thexakal em yahoo.com.br > > > > > > > _______________________________________________________ > O Yahoo! está de cara nova. Venha conferir! > http://br.yahoo.com -- Flávio Fonseca Administrador de Redes Dark Penguin Informática Ltda. -- Flávio Fonseca Divisão de Redes Diretoria de Processamento de Dados Universidade Federal de Uberlândia From a.r.ferreira em gmail.com Fri Dec 15 04:08:07 2006 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Fri, 15 Dec 2006 10:08:07 -0200 Subject: [Triangulo-pm] =?iso-8859-1?q?Res=3A_Inseguran=E7a_no_Windows?= In-Reply-To: <200612131635.22388.ff@dirpd.ufu.br> References: <20061213111802.56728.qmail@web56206.mail.re3.yahoo.com> <200612131635.22388.ff@dirpd.ufu.br> Message-ID: <73ddeb6c0612150408j77ae7bc7j679f78edd0343c6b@mail.gmail.com> Pessoal, O Elias falou sobre a possibilidade de substituir maliciosamente o cmd (o interpretador de comandos ou shell para Windows NT, 2000, XP, etc.) O fato do Windows decidir o nome do executável na hora de executar o comando é mais um fator potencial de insegurança. Se você executa "cmd", ele vai procurar no mínimo por "cmd.com", "cmd.exe", "cmd.bat", nesta ordem. E você ainda pode colocar mais sufixos nesta lista. Por exemplo, na máquina onde estou o PATHEXT é PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.py;.pyc;.pyo;.pyw;.pys;.tcl Quer dizer, ainda tem umas linguagens adicionais para você escrever que são padrões para Windows (Visual Basic, JavaScript, e outros) e ainda tem certas instalações que lhe fazem o favor de incluir ainda mais extensões de arquivo ao problema. (Nota. ActiveState Perl pode fazer isto também se você escolher na hora da instalação.) Um exemplo de como fazer o usuário executar o seu comando sem querer é colocar este falso cmd.bat no diretório do usuário. Se ele vai até o "Iniciar | Executar" e digita "cmd", acaba invocando este script. A busca do Windows é mais ou menos assim: * olhe no diretório corrente * procure uma combinação "comando" + extensão dentre as extensões do PATHEXT - na primeira encontrada, manda brasa * se não encontrou, passe a fazer o mesmo em cada diretório no PATH, até encontrar ou desistir. O problema é o "olhe no diretório corrente". Digamos que pensando em segurança, você faz um programa que outros usuários vão executar e constrange de alguma maneira a integridade do PATH (impedindo que outros caminhos sejam inseridos) para que você saiba o que está acontecendo (os programas sendo chamados). Considere a hipótese de que o usuário TEM de usar este programa. Então ele entra no programa. Este programa (principalmente se for complexo) pode entre outras coisas que faz, invocar outros programas e, para evitar incômodos de portabilidade, faz isto confiando no path para resolver comandos como "perl", "acroreader", "iexplore", etc. Se você não encontrou também um jeito de evitar que o usuário determine o diretório corrente, ele pode fazer com que o seu programa "seguro" execute qualquer outro programa, colocando um programa de mesmo nome no diretório corrente que o seu programa invoca. É aqui que mora o perigo. Fica pior se ao confiar na segurança do seu programa, você permite que em determinadas seções o programa rode com diferentes privilégios. O programa malicioso pode de repente se ver com estes privilégios. Em Unix, não tem esta brecha. Ou está no PATH ou não está. Se tem jeito de constranger o PATH para não ter coisas perigosas, então não terá. Unix pode ser mal usado? Definitivamente. Mas mesmo queimando a cachola com Windows, você pode acabar com um programa perigoso por causa dos buracos de segurança no Windows como este encima do qual comecei a discussão. Obrigado ao Elias e ao Flávio pela continuação da discussão. Desculpem pela demora na resposta. Adriano. On 12/12/06, Adriano Ferreira wrote: > Em Windows, existe historicamente o mau hábito de buscar o arquivo > executável primeiramente no diretório atual e depois no PATH. Em Unix, > o diretório atual pode ser colocado no PATH -- quando o usuário assume > o risco. Mas em Windows, esteja ou não no PATH, o diretório corrente > vai ser usado. > > Por quê isto é inerentemente inseguro? On 12/13/06, Flávio Fonseca wrote: > Particularmente eu abomino o windows, mas a coisa nao pode ser assim tão > bagunçada. Infelizmente usuários linux quando vao para o mundo windows vivem > segundo o mundo azul. Ou seja, no linux todos seguimos as recomendaçoes de > não ficarmos usando usuário root. Se vc fizer isso no windows também isso vai > mudar a história, vc nao consegue apagar tudo que ve pela frente. Por outro > lado, se vc quiser jogar assim aplique as mesmas regras no linux: como root > crie um arquivo /bin/ls com o conteúdo echo > echo "Eu posso fazer o que eu quiser aqui!" > chmod +755 /bin/ls > > Execute o comando ls de qquer lugar do linux, com qualquer usuário que ele vai > imprimir o mesmo texto do windows. > > troque o comando echo acima para rm -rf / que vc vai ver seu sistema > operacional desaparecer diante de seus olhos. Para garantir que qquer um pode > detonar seu sistema faça um chmod +s /bin/ls. Assim até o linux fica igual o > windows. > > Acho que nessa questão o que realmente pega é a educação ou mesmo > adestramento. Quando usamos linux obedecemos as regras de segurança básicas. > Quando usamos windows queremos com esse usuário poder fazer tudo, instalar > qquer programa, mudar configuração, formatar , etc. Simplesmente sempre > usamos o windows com o equivalente ROOT dele. Se vc usar o linux sempre como > root vai aprender pelo método difícil. Salvo algumas distribuições mais > estilo windows (como o antigo conectiva) que criava o alias para rm como rm > -i a chance de fazer besteira no Linux é maior que no windows. sempre que vc > faz um del *,* o window pergunta se vc tem certeza..., o linux nao!. Quando > vc se arrepender será tarde demais. Vc nao instala nada no linux sem senha de > root (a menos que seja no seu proprio home para vc usar e no windows isso > também pode ser feito). > > Concluindo: que para mim o windows é uma grande M***** é. Mas sou contra > injustiças. Pesar dois fatos com medidas diferentes não é justo. E > reforçando mais uma vez: eu odeio windows! > > att. > > Flávio > > On Wednesday 13 December 2006 09:18, Elias Chacon wrote: > > Se eu fizer um programinha em shell ( .bat ) chamado cmd com um del *.* e > > colocá-lo no raiz, então ele será executado! Experimente... > > O meu teste foi o seguinte: > > Criei um cmd.bat no diretório do usuário atual. O conteúdo: > > @echo off > > echo "Eu posso fazer o que eu quiser aqui!" > > Se você mandar um Iniciar->Executar->CMD... Voilá! > > Eu posso fazer o que eu quiser aqui! From a.r.ferreira em gmail.com Fri Dec 15 04:50:21 2006 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Fri, 15 Dec 2006 10:50:21 -0200 Subject: [Triangulo-pm] Os YAPCs Brasileiros em 2007 Message-ID: <73ddeb6c0612150450r570ead6fgc0378dd673af68bc@mail.gmail.com> Os YAPC são as conferências tradicionais da comunidade Perl. Significa Yet Another Perl Conference (Outra Conferência Perl). Nelas em geral comparecem desenvolvedores Perl e principalmente aqueles que participam (de qualquer maneira e segundo sua disponibilidade) de grupos como este que estamos abrindo. Segue informação vinda de uma reunião de 24/11/2006 da coordenação da Sociedade Brasileira de Perl (http://www.perl.org.br/ -- atualmente o site é um wiki). * O YAPC::SA::2007 (South America - América do Sul) será realizado durante o FISL 8.0 em Porto Alegre/RS nos dias 12, 13 e 14 de abril. http://fisl.softwarelivre.org/ * O YAPC::Brasil::2007 será realizado durante o III Festival de Software Livre da Bahia em Lauro Freitas/BA nos dias 24, 25 e 26 de agosto. http://festival.softwarelivre.org/ Deve acontecer também por volta de outubro, o YAPC::SP::2007 junto com o CONISLI (Conferência Internacional de Software Livre) provavelmente no Parque Anhembi em São Paulo (como foi este ano). Quando eu tiver informação mais palpável, eu repasso. Para quem quiser conhecer mais sobre o uso de Perl no Brasil, a lista dos grupos brasileiros pode ser vista aqui: http://www.pm.org/groups/south_america.html Alguns têm sites outros não. O nosso ainda está por entrar no ar (será http://triangulo.pm.org/) Muitos têm listas de discussões também. É absolutamente livre participar destes canais. Em geral, reúnem desenvolvedores de uma certa localidade mas isto não é regra. Os grupos Perl Mongers (algo como mercadores de Perl -- mais no sentido de divulgadores) à medida que crescem organizam dois tipos de encontros: encontros sociais e encontros técnicos. Os encontros sociais são para papear informalmente, conhecer as pessoas do grupo e outras que queiram participar das reuniões sem vínculo com o grupo. Estes encontros são normalmente em bares como um encontro qualquer de amigos, bebendo cerveja, refrigerante, comendo, jogando boliche, sinuca, etc. E tem os encontros técnicos que são palestras, mini cursos, ou apresentações feitas por gente do grupo para o grupo. Estes são mais exigentes nos recursos necessários para sua realização: salas, projetores, computadores, conexão à Internet (de acordo com o material). À medida que o grupo adquirir mais massa crítica, podemos combinar estes tipos de evento. Eu vejo como acontece em outros grupos, e o difícil é sempre arrumar a data e hora que convém. Por causa destas reuniões, é que faz mais sentido a participação de gente local no grupo, porque não implicará em viagens para ir aos encontros. As conferências que são o assunto desta mensagem são pontos de encontro interessantes entre desenvolvedores Perl de todo o Brasil. Em geral têm participações internacionais. Por exemplo, o YAPC::SA deste ano teve a Audrey Tang (que é a principal desenvolvedora do Perl 6) e o David Fetter (que é desenvolvedor do Postgresql e de sua interface com Perl). O do próximo ano, tenho certeza que o Randal Schwartz vem (o Randal é um dos hackers Perl mais conhecidos, autor de livros, criador dos JAPHs e de uma porção de coisas relacionadas à comunidade e técnicas de programação Perl). Talvez até lá tenhamos um grupo disposto a ir. Adriano From cleveranjos em gmail.com Fri Dec 15 04:57:21 2006 From: cleveranjos em gmail.com (Clever Anjos) Date: Fri, 15 Dec 2006 10:57:21 -0200 Subject: [Triangulo-pm] =?iso-8859-1?q?Sugest=E3o_de_projeto?= Message-ID: <6a87d54b0612150457g7fd9440j48c077f668f2e34a@mail.gmail.com> Colegas Atualmente só tenho me dedicado a Perl e outras linguagens 'script' em horas vagas porque meu foco profissional mudou muito. Alguém aqui participa de algum projeto (preferencialmente) open-source em Perl que esteja precisando de um colaborador? -- Clever Anjos cleveranjos at gmail.com http://palav.blogspot.com Leve tudo na sua vida a sério, menos você mesmo... A gente não para de rir ao envelhecer, mas envelhece quando para de rir -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.pm.org/pipermail/triangulo-pm/attachments/20061215/259677eb/attachment.html From a.r.ferreira em gmail.com Fri Dec 15 05:05:47 2006 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Fri, 15 Dec 2006 11:05:47 -0200 Subject: [Triangulo-pm] =?iso-8859-1?q?Sugest=E3o_de_projeto?= In-Reply-To: <6a87d54b0612150457g7fd9440j48c077f668f2e34a@mail.gmail.com> References: <6a87d54b0612150457g7fd9440j48c077f668f2e34a@mail.gmail.com> Message-ID: <73ddeb6c0612150505u35ad7e94o41dcc7312f454313@mail.gmail.com> On 12/15/06, Clever Anjos wrote: > Colegas > > Atualmente só tenho me dedicado a Perl e outras linguagens 'script' em horas > vagas porque meu foco profissional mudou muito. > Alguém aqui participa de algum projeto (preferencialmente) open-source em > Perl que esteja precisando de um colaborador? Clever, Eu também convivo hoje com uma certa incompatibilidade entre a programação Perl e o trabalho do dia-a-dia. Mas como o $work toma tempo demais, acabo só passando superficialmente por projetos Perl sem condições de oferecer contribuição maior. Se você gosta de escrever, talvez considere contribuir uma resenha para o Perl Advent Calendar. site: http://perladvent.pm.org/ FAQ: http://perladvent.pm.org/FAQ.html como submeter: http://perladvent.pm.org/FAQ-submit.html Eu contribui com um artigo e ainda tem a vantagem de ganhar um livro da O'Reilly. Bem, acho que não era bem o que você estava esperando, mas é um começo. Adriano. From lucasmateus.oliveira em gmail.com Mon Dec 18 05:07:33 2006 From: lucasmateus.oliveira em gmail.com (Lucas Mateus) Date: Mon, 18 Dec 2006 10:07:33 -0300 Subject: [Triangulo-pm] Oportunidade para Projeto Message-ID: Procuro programador para trabalhar um um Projeto OpenSource. Que tiver interesse entre em contato por email ou MSN lucasmateus_777 em hotmail.com -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/triangulo-pm/attachments/20061218/0d151e75/attachment.html From a.r.ferreira em gmail.com Mon Dec 18 07:02:26 2006 From: a.r.ferreira em gmail.com (Adriano Ferreira) Date: Mon, 18 Dec 2006 13:02:26 -0200 Subject: [Triangulo-pm] Oportunidade para Projeto In-Reply-To: References: Message-ID: <73ddeb6c0612180702x798f525do8e189f9ae3bfe33c@mail.gmail.com> On 12/18/06, Lucas Mateus wrote: > Procuro programador para trabalhar um um Projeto OpenSource. Que tiver > interesse entre em contato por email ou MSN lucasmateus_777 at hotmail.com Talvez seja este o projeto que o Clever estava procurando. Clever, conheça o Lucas. Lucas, conheça o Clever. Isto me lembrou uma frase do Jarkko, um dos gerentes de relase do Perl: Simon, meet Peter. Peter, meet Simon. Peter, Simon, meet a shared goal. You may engage your keyboard and brain now. -- Jarkko Hietaniemi