From lechamps em terra.com.br Tue Jun 1 08:01:02 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Fw: Thank you for making pVoice's new release possible! In-Reply-To: <20040530030910.35bd93b6@valhalla.localdomain> References: <20040530030910.35bd93b6@valhalla.localdomain> Message-ID: <40BC7E0E.2040307@terra.com.br> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 lceu Rodrigues de Freitas Junior wrote: > Olá monges, > > Se alguém tiver interesse em codificar Perl com GUI para Windows, aí > está uma oportunidade interessante. > > pVoice é uma programa para deficientes físicos possam "falar". A algum > tempo atrás eu ajudei traduzindo as mensagens para o português. Achei > muito bacana o trabalho do Jouke e resolvi dar uma força. Valeu lembrar > que o programa está sobre licença GPL. > > Que achou interessante pode ver mais detalhes em http://www.pvoice.org. > > Segue mais abaixo uma mensagem que recebi recentemente dele. Ah, se eu tivesse tempo sobrando!! Parabéns pelo belo trabalho! Eu conheço o pVoice e seu criador. :-) Ele tem uma motivação *muito* especial. - -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (GNU/Linux) iD8DBQFAvHzAz+iwwpKRaDIRAhybAKDgFNlGLcB3+VI9cXR6O/Z6u3eGCwCgsUq6 taX6o81vVxV79HXGNwrx2u0= =XNpD -----END PGP SIGNATURE----- From joenio_marques em yahoo.com.br Tue Jun 1 12:48:41 2004 From: joenio_marques em yahoo.com.br (=?iso-8859-1?q?Joenio=20Marques?=) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Leitura de arquivos txt In-Reply-To: <40BC7E0E.2040307@terra.com.br> Message-ID: <20040601174841.3180.qmail@web51402.mail.yahoo.com> oi pessoal... estou fazendo um guestbook em perl usando arquivo txt para armazenar as mensagens. como eu faço pra acessar o arquivo do final pro inicio ou como faço pra incluir novos registros sempre no inicio do arquivo ? obrigado. Joenio Marques --------------------------------- Yahoo! Messenger - Fale com seus amigos online. Instale agora! -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040601/5a383b3f/attachment.htm From lechamps em terra.com.br Tue Jun 1 13:14:14 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Leitura de arquivos txt In-Reply-To: <20040601174841.3180.qmail@web51402.mail.yahoo.com> References: <20040601174841.3180.qmail@web51402.mail.yahoo.com> Message-ID: <40BCC776.9050008@terra.com.br> Joenio Marques wrote: > oi pessoal... Oies, Joenio. > estou fazendo um guestbook em perl usando arquivo txt para armazenar as > mensagens. como eu faço pra acessar o arquivo do final pro inicio ou > como faço pra incluir novos registros sempre no inicio do arquivo ? > Qual o formato interno do seu arquivo? XML? Caracter separador? Tamanho fixo para os campos? De qualquer forma, você pode usar o reverse(), para, depois da leitura das linhas do seu arquivo, ordená-las em ordem inversa. Claro, se houver alguma coisa que facilite a leitura, como por exemplo um campo "data", você poderia simplesmente ordenar as entradas do jeito que desejar. Espero que isso te ajude. Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From joenio_marques em yahoo.com.br Tue Jun 1 16:34:58 2004 From: joenio_marques em yahoo.com.br (=?iso-8859-1?q?Joenio=20Marques?=) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Leitura de arquivos txt In-Reply-To: <40BCC776.9050008@terra.com.br> Message-ID: <20040601213458.9119.qmail@web51409.mail.yahoo.com> Ola Luis, o formato interno do arquivo é caracter separador. estou usando TAB (\t) para separar os campos. e cada linha é um registro certo, posso aplicar reverse() direto no HANDLE do arquivo ? minha intenção é fazer com que os registros inseridos por ultimo do sejam lidos primeiro. muito obrigado! Joenio Marques --------------------------------- Yahoo! Messenger - Fale com seus amigos online. Instale agora! -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040601/1fbf2c0e/attachment.htm From lgonzaga em lncc.br Wed Jun 2 10:23:28 2004 From: lgonzaga em lncc.br (Luiz Gonzaga) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Tratamento de erro Message-ID: <20040602122328.4353e8e6.lgonzaga@lncc.br> Pessoal, Desculpem-me mandar uma duvida sem consultar antes a documentacao etc. Mas estou com muita pressa, e preciso da ajuda de voces. Enquanto isto consultarei o "man" e se encontrar a solucao aviso. A questao e a seguinte, faco uma chamada a um metodo do objeto "$ca" e para uma determinado valor recebo uma mensagem de erro que nao posso chamar o metodo para um valor indefinido. Acho que o problema esta no modulo que estou usando (Bio::Assembly::ContigAnalysis). O que eu preciso eh saber como tratar este erro sem que o meu script (LoadProblemsFinish.pl) seja interrompido. O codigo "enxugado" eh este: foreach $contig ($assembly->all_contigs) { $ca = Bio::Assembly::ContigAnalysis->new(-contig=>$contig); @ncbs = $ca->not_confirmed_on_both_strands; #executo outros comandos a partir do conteudo de @ncbs } E a mensagem de erro: Can't call method "start" on an undefined value at /usr/local/lib/perl5/site_perl/5.6.1/Bio/Assembly/ContigAnalysis.pm line 340, line 1119 (#2) (F) You used the syntax of a method call, but the slot filled by the object reference or package name contains an undefined value. Something like this will reproduce the error: $BADREF = undef; process $BADREF 1,2,3; $BADREF->process(1,2,3); Uncaught exception from user code: Can't call method "start" on an undefined value at /usr/local/lib/perl5/site_perl/5.6.1/Bio/Assembly/ContigAnalysis.pm line 340, line 1119. Bio::Assembly::ContigAnalysis::not_confirmed_on_both_strands('Bio::Assembly::ContigAnalysis=HASH(0x7ecdac)') called at ./LoadProblemsFinish.pl line 195 main::loadProblem(399, 8, '/u03/genome/rtropici/dvlp/assembly/frozen-02062004', 'Problem_Finish', 'Id_ContigFinish') called at ./LoadProblemsFinish.pl line 119 Abracos, Luiz. From lechamps em terra.com.br Wed Jun 2 10:34:57 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Tratamento de erro References: <20040602122328.4353e8e6.lgonzaga@lncc.br> Message-ID: <009401c448b7$2933c450$d805000a@luis> ----- Original Message ----- From: "Luiz Gonzaga" To: Sent: Wednesday, June 02, 2004 12:23 PM Subject: [Cascavel-pm] Tratamento de erro > Pessoal, > > Desculpem-me mandar uma duvida sem consultar antes a documentacao etc. > Mas estou com muita pressa, e preciso da ajuda de voces. Enquanto isto > consultarei o "man" e se encontrar a solucao aviso. > > A questao e a seguinte, faco uma chamada a um metodo do objeto "$ca" e > para uma determinado valor recebo uma mensagem de erro que nao posso > chamar o metodo para um valor indefinido. Acho que o problema esta no > modulo que estou usando (Bio::Assembly::ContigAnalysis). O que eu preciso > eh saber como tratar este erro sem que o meu script > (LoadProblemsFinish.pl) seja interrompido. > > O codigo "enxugado" eh este: > foreach $contig ($assembly->all_contigs) > { > $ca = Bio::Assembly::ContigAnalysis->new(-contig=>$contig); > @ncbs = $ca->not_confirmed_on_both_strands; > #executo outros comandos a partir do conteudo de @ncbs > } > Prezado Luiz Seu problema é que a variável $ca não tem valor definido ( quer dizer que "defined $ca" retorna falso). Para resolver este problema, você pode fazer assim: foreach $contig ($assembly->all_contigs) { $ca = Bio::Assembly::ContigAnalysis->new(-contig=>$contig); if( UNIVERSAL::isa( $ca, 'Bio::Assembly::ContigAnalysis' ){ @ncbs = $ca->not_confirmed_on_both_strands; #executo outros comandos a partir do conteudo de @ncbs }else{ # Erro!! } } Ou assim: foreach $contig ($assembly->all_contigs) { $ca = Bio::Assembly::ContigAnalysis->new(-contig=>$contig); eval{ @ncbs = $ca->not_confirmed_on_both_strands; } die "Erro: $!\n" if $@; # Tratamento do erro capturado no "eval" acima #executo outros comandos a partir do conteudo de @ncbs } Se isso não resolver, por favor me informe, pela lista. Mais gente pode dar idéias melhores. Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho Computer Scientist OCP DBA Oracle & Senior Unix Sys Admin =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lgonzaga em lncc.br Wed Jun 2 11:40:26 2004 From: lgonzaga em lncc.br (Luiz Gonzaga) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Tratamento de erro In-Reply-To: <009401c448b7$2933c450$d805000a@luis> References: <20040602122328.4353e8e6.lgonzaga@lncc.br> <009401c448b7$2933c450$d805000a@luis> Message-ID: <20040602134026.08aafea3.lgonzaga@lncc.br> Oi Luis, Foi de grande valor a sua resposta. Testei ambas as solucoes e a que utiliza o "eval" funcionou. Duas pequenas correcoes: Com certeza o $ca tem valor definido. Eu jah havia testado antes e nao me ocorreu de informar no email. Por este motivo a solucao proposta com o UNIVERSAL::isa nao funcionou. E no restante do codigo eu utilizo outros metodos sobre este objeto sem problemas. Com eval, ocorreu um erro de digitacao na linha: die "Erro: $!\n" if $@; o correto eh die "Erro $@\n" if $@; Muito obrigado e abracos. Luiz. On Wed, 2 Jun 2004 12:34:57 -0300 "Luis Campos de Carvalho" wrote: > ----- Original Message ----- > From: "Luiz Gonzaga" > To: > Sent: Wednesday, June 02, 2004 12:23 PM > Subject: [Cascavel-pm] Tratamento de erro > > > > Pessoal, > > > > Desculpem-me mandar uma duvida sem consultar antes a documentacao etc. > > Mas estou com muita pressa, e preciso da ajuda de voces. Enquanto isto > > consultarei o "man" e se encontrar a solucao aviso. > > > > A questao e a seguinte, faco uma chamada a um metodo do objeto "$ca" e > > para uma determinado valor recebo uma mensagem de erro que nao posso > > chamar o metodo para um valor indefinido. Acho que o problema esta no > > modulo que estou usando (Bio::Assembly::ContigAnalysis). O que eu preciso > > eh saber como tratar este erro sem que o meu script > > (LoadProblemsFinish.pl) seja interrompido. > > > > O codigo "enxugado" eh este: > > foreach $contig ($assembly->all_contigs) > > { > > $ca = Bio::Assembly::ContigAnalysis->new(-contig=>$contig); > > @ncbs = $ca->not_confirmed_on_both_strands; > > #executo outros comandos a partir do conteudo de @ncbs > > } > > > > Prezado Luiz > > Seu problema é que a variável $ca não tem valor definido ( quer dizer que > "defined $ca" retorna falso). > > Para resolver este problema, você pode fazer assim: > > foreach $contig ($assembly->all_contigs) > { > $ca = Bio::Assembly::ContigAnalysis->new(-contig=>$contig); > if( UNIVERSAL::isa( $ca, 'Bio::Assembly::ContigAnalysis' ){ > @ncbs = $ca->not_confirmed_on_both_strands; > #executo outros comandos a partir do conteudo de @ncbs > }else{ > # Erro!! > } > } > > Ou assim: > foreach $contig ($assembly->all_contigs) > { > $ca = Bio::Assembly::ContigAnalysis->new(-contig=>$contig); > eval{ @ncbs = $ca->not_confirmed_on_both_strands; } > die "Erro: $!\n" if $@; # Tratamento do erro capturado no "eval" acima > #executo outros comandos a partir do conteudo de @ncbs > } > > Se isso não resolver, por favor me informe, pela lista. Mais gente pode > dar idéias melhores. > > Putamplexos! > -- > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Luis Campos de Carvalho > Computer Scientist > OCP DBA Oracle & Senior Unix Sys Admin > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > From fglock em pucrs.br Wed Jun 2 16:43:39 2004 From: fglock em pucrs.br (fglock@pucrs.br) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] V FISL Message-ID: <200406022144.i52Lirb7052407@rigel.pucrs.br> Quem são os monges que estão em Porto Alegre? Vamos combinar nosso encontro social para 5a. feira - sugiro o estande da ABRASOL como ponto de encontro, perguntem pelo Marco Lima. Por enquanto estão confirmados Flávio, Marco Lima e Fabiano. - Flavio S. Glock From lechamps em terra.com.br Thu Jun 3 07:36:19 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] V FISL In-Reply-To: <200406022144.i52Lirb7052407@rigel.pucrs.br> References: <200406022144.i52Lirb7052407@rigel.pucrs.br> Message-ID: <40BF1B43.6020208@terra.com.br> fglock@pucrs.br wrote: > Quem são os monges que estão em Porto Alegre? > > Vamos combinar nosso encontro social para 5a. feira - > sugiro o estande da ABRASOL como ponto de encontro, > perguntem pelo Marco Lima. > > Por enquanto estão confirmados Flávio, Marco Lima > e Fabiano. > Lamento, senhores. Minha pós graduação em análise de sistemas me manteve em São Paulo. Eu espero que vocês se divirtam muito! Mandem fotos para publicarmos no website do BR-PM.org. map putamplexos($_), ORG::PM::Cascavel->retrieve_members(); -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From ramoni em databras.com.br Wed Jun 2 16:57:57 2004 From: ramoni em databras.com.br (Ramoni) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] V FISL In-Reply-To: <200406022144.i52Lirb7052407@rigel.pucrs.br> References: <200406022144.i52Lirb7052407@rigel.pucrs.br> Message-ID: <200406021857.57805.ramoni@databras.com.br> Eu estarei Lah. Estou de posse do camelo. hehehehe On Wednesday 02 June 2004 18:43, fglock@pucrs.br wrote: > Quem são os monges que estão em Porto Alegre? > > Vamos combinar nosso encontro social para 5a. feira - > sugiro o estande da ABRASOL como ponto de encontro, > perguntem pelo Marco Lima. > > Por enquanto estão confirmados Flávio, Marco Lima > e Fabiano. > > - Flavio S. Glock From marco.lima em e-via.com.br Thu Jun 3 10:56:12 2004 From: marco.lima em e-via.com.br (Your Name) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] V FISL - Encontro Social da Brasil Perl Mongers Message-ID: Salve Monges: Como já deve ser de conhecimento de todos, hoje dia 3 de junho de 2004 será realizado o Encontro Social da Brasil Perl Mongers. O encontro será as 20:30h no Bar Pingüim, rua . A Brasil Perl Monger está com um estante em parceria com ABRASOL no V FISL, os monges que estirem no evento podem chegar até lá. Encontro Técnico da Brasil Perl Mongers, ainda não está definido a hora e o local, mas o encontro será realizado nesta sexta-feira, 04 de junho de 2004. A proveitamos para convidar todos os Monges a participarem dos encontros. Monges confirmados para os encontros: Marco Lima (MAGO) - Rio.PM Flavio Glock - Brasil.PM Fabiano Righetti - Cascavel.PM Nelson Ferraz - São Paulo.PM Ricardo Filipo - Rio.PM Ramoni - Rio.PM [ ]'s Marco Lima e Flavio Glock From fglock em pucrs.br Thu Jun 3 13:37:13 2004 From: fglock em pucrs.br (Flavio S. Glock) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] V FISL References: <200406022144.i52Lirb7052407@rigel.pucrs.br> <40BF1B43.6020208@terra.com.br> Message-ID: <40BF6FD9.5BAD@pucrs.br> > fglock@pucrs.br wrote: > > Vamos combinar nosso encontro social para 5a. feira - > > sugiro o estande da ABRASOL como ponto de encontro, > > perguntem pelo Marco Lima. Para confirmar: O encontro será no bar Pinguim, na esquina da Lima e Silva com a Republica, às 20:30, 5a feira 03/junho/2004, Porto Alegre! O local já foi previamente testado e aprovado pelo Mago :) - Flavio S. Glock From gabriel em webclube.com Thu Jun 3 21:11:40 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] V FISL - Encontro Social da Brasil Perl Mongers References: Message-ID: <003501c449d9$47908140$ad57a8c0@fortalnet.com.br> Aguardo a transmissão ao vivo e 24horas/dia que vocês irão fazer via internet! rsrs Aproveitem e conectem vossos notebooks ao IRC para que possamos(os 'excluídos) nos sentir na FISL. ;) Bom 'trabalho' para todos! Abraços, Gabriel Vieira ----- Original Message ----- From: "Your Name" To: "Cascavel Perl Mongers" Sent: Thursday, June 03, 2004 12:56 PM Subject: [Cascavel-pm] V FISL - Encontro Social da Brasil Perl Mongers > Salve Monges: > > Como já deve ser de conhecimento de todos, hoje dia 3 de junho de 2004 > será realizado o Encontro Social da Brasil Perl Mongers. > > O encontro será as 20:30h no Bar Pingüim, rua . > > A Brasil Perl Monger está com um estante em parceria com ABRASOL no V > FISL, os monges que estirem no evento podem chegar até lá. > > Encontro Técnico da Brasil Perl Mongers, ainda não está definido a hora > e o local, mas o encontro será realizado nesta sexta-feira, 04 de junho > de 2004. > > A proveitamos para convidar todos os Monges a participarem dos encontros. > > Monges confirmados para os encontros: > > Marco Lima (MAGO) - Rio.PM > Flavio Glock - Brasil.PM > Fabiano Righetti - Cascavel.PM > Nelson Ferraz - São Paulo.PM > Ricardo Filipo - Rio.PM > Ramoni - Rio.PM > > > [ ]'s > > Marco Lima e Flavio Glock > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From fglock em pucrs.br Fri Jun 4 08:41:39 2004 From: fglock em pucrs.br (Flavio S. Glock) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] =?iso-8859-1?q?V_FISL_-_Encontro_T=E9cnico_da_Bras?= =?iso-8859-1?q?il_Perl_Mongers?= References: <003501c449d9$47908140$ad57a8c0@fortalnet.com.br> Message-ID: <40C07C13.12B2@pucrs.br> Gabriel Vieira wrote: > > Aguardo a transmissão ao vivo e 24horas/dia que vocês irão fazer via > internet! rsrs > Aproveitem e conectem vossos notebooks ao IRC para que possamos(os > 'excluídos) nos sentir na FISL. ;) Ok, o Mago vai providenciar :) > > Encontro Técnico da Brasil Perl Mongers, ainda não está definido a hora > > e o local, mas o encontro será realizado nesta sexta-feira, 04 de junho > > de 2004. O Encontro Técnico será às 16:30, no 7. andar do prédio 40 da PUCRS, após a palestra do Gunnar Wolf sobre segurança em Perl. - Flavio S. Glock From shonorio em terra.com.br Sat Jun 5 06:39:14 2004 From: shonorio em terra.com.br (Solli Moreria Honorio) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Ler o arquivo do final Message-ID: <000001c44af1$bac430d0$32cbcfc8@eraser> Ola pessoal, Há uns dias foi solicitado ajuda para ler um arquivo do final para o início. No perlmonk tem algumas perguntas sobre isto, se ainda tiveres com dúvida (ou querendo confirmar se implementou a melhor solução) dê uma olhada no link abaixo. http://www.perlmonks.com/index.pl?node_id=361397 Ou pode dar uma passeada no Cpan e dar uma olhada nos módulos abaixo : http://search.cpan.org/~uri/File-ReadBackwards-1.02/ReadBackwards.pm http://search.cpan.org/~mjd/Tie-File-0.96/lib/Tie/File.pm Solli -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040605/4207314b/attachment.htm From lemon em grad.icmc.usp.br Sat Jun 5 09:39:17 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Ler o arquivo do final In-Reply-To: <000001c44af1$bac430d0$32cbcfc8@eraser> References: <000001c44af1$bac430d0$32cbcfc8@eraser> Message-ID: <618379512.20040605113917@grad.icmc.usp.br> Legal. Eu estava precisando disso esses dias exatamente para o que citaram num dos tópicos mostrados nesse site: Ler um log até a data de ontem (na verdade é um programa que analisa log de X em X minutos, então ele deve analisar só a partir dos últimos X minutos). Usei o Date:ICal para manipular data/hora e... como achei que ficaria ineficiente ler de trás para frente (o arquivo tem em média umas 200.000 linhas e 50 MBs), acabei fazendo uma busca binária nele até achar a data anterior à que eu estou procurando. Mas não tenho certeza se fica muito mais eficiente assim. Eu sei que o que mais consome tempo de HD são seeks, e em um arquivo de 200.000 linhas podemos estimar uns 16 seeks (log2)... Mas se, para ler o arquivo de trás para frente for necessário dar um seek para cada linha (ou fazer uma paginação e dar 1 seek para cada 1000 linhas, por exemplo), consumiremos muito mais... Alguém conhece alguma solução mais eficiente? /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 5/6/2004, 08:39 <---| Return-Path: X-Original-To: lemon@grad.icmc.usp.br Delivered-To: lemon@grad.icmc.usp.br Received: from www.pm.org (mail.pm.org [64.49.222.22]) by mail.grad.icmc.usp.br (Postfix) with ESMTP id D942AFF511 for ; Sat, 5 Jun 2004 08:31:12 -0300 (EST) Received: from www.pm.org (localhost [127.0.0.1]) by www.pm.org (8.12.11/8.12.11) with ESMTP id i55BdBMl024955; Sat, 5 Jun 2004 06:39:38 -0500 Received: from linares.terra.com.br (linares.terra.com.br [200.154.55.228]) by www.pm.org (8.12.11/8.12.11) with ESMTP id i55Bd8rP024952 for ; Sat, 5 Jun 2004 06:39:09 -0500 Received: from pasto.terra.com.br (pasto.terra.com.br [200.154.55.137]) by linares.terra.com.br (Postfix) with ESMTP id 3B7E4DDC2C1 for ; Sat, 5 Jun 2004 08:39:07 -0300 (BRT) Received: from eraser (200-207-203-50.dsl.telesp.net.br [200.207.203.50]) (authenticated user shonorio) by pasto.terra.com.br (Postfix) with ESMTP id E2B8F3C009 for ; Sat, 5 Jun 2004 08:39:05 -0300 (BRT) From: "Solli Moreria Honorio" To: "Cascavel Perl Mongers" Date: Sat, 5 Jun 2004 08:39:14 -0300 Message-ID: <000001c44af1$bac430d0$32cbcfc8@eraser> MIME-Version: 1.0 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2616 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2739.300 Subject: [Cascavel-pm] Ler o arquivo do final X-BeenThere: cascavel-pm@mail.pm.org X-Mailman-Version: 2.1.4 Precedence: list Reply-To: Cascavel Perl Mongers List-Id: Cascavel Perl Mongers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0128597405==" Sender: cascavel-pm-bounces@mail.pm.org Errors-To: cascavel-pm-bounces@mail.pm.org Ola pessoal, Há uns dias foi solicitado ajuda para ler um arquivo do final para o início. No perlmonk tem algumas perguntas sobre isto, se ainda tiveres com dúvida (ou querendo confirmar se implementou a melhor solução) dê uma olhada no link abaixo. http://www.perlmonks.com/index.pl?node_id=361397 Ou pode dar uma passeada no Cpan e dar uma olhada nos módulos abaixo : http://search.cpan.org/~uri/File-ReadBackwards-1.02/ReadBackwards.pm http://search.cpan.org/~mjd/Tie-File-0.96/lib/Tie/File.pm Solli From gabriel em webclube.com Sat Jun 5 11:53:38 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Compilar o Perl Message-ID: <001601c44b1d$a8539040$ad57a8c0@fortalnet.com.br> Amigos Monges, estou procurando uma solução para que eu possa fornecer um script perl apenas para execução aos usuários da minha shell. Ou seja, eles não poderão ler o arquivo, apenas executá-lo, mas estou tendo problemas, pois para executá-lo é necessário a leitura do mesmo. Como tentativa de solução, procuro compilar o perl como 'executivo' para FreeBSD. Por isso recorro a vocês. Alguém me indica um compilador? :) PerlCC deu erro. PerlBin deu erro. TinyPerl é pra Windows (dps solicitarei suporte a ele tb ;P). Caso solicitem retornarei o próximo contato com erro obtido por mim. * Procuro uma solução de preferência gratuita ;). Agradeço a todos, Gabriel Vieira -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040605/2a6cbd67/attachment.htm From spooker em spooker.com.br Thu Jun 3 21:14:09 2004 From: spooker em spooker.com.br (spooker@spooker.com.br) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] V FISL - Encontro Social da Brasil Perl Mongers In-Reply-To: <003501c449d9$47908140$ad57a8c0@fortalnet.com.br> References: <003501c449d9$47908140$ad57a8c0@fortalnet.com.br> Message-ID: <1086315249.40bfdaf1075a7@www.spooker.com.br> Eu sou de sampa, mas nao poderei ir no bar...mas to rodando pelo FISL! []z! Sp0oKeR! Quoting Gabriel Vieira : > Aguardo a transmissão ao vivo e 24horas/dia que vocês irão fazer via > internet! rsrs > Aproveitem e conectem vossos notebooks ao IRC para que possamos(os > 'excluídos) nos sentir na FISL. ;) > > Bom 'trabalho' para todos! > > Abraços, > > Gabriel Vieira > > ----- Original Message ----- > From: "Your Name" > To: "Cascavel Perl Mongers" > Sent: Thursday, June 03, 2004 12:56 PM > Subject: [Cascavel-pm] V FISL - Encontro Social da Brasil Perl Mongers > > > > Salve Monges: > > > > Como já deve ser de conhecimento de todos, hoje dia 3 de junho de 2004 > > será realizado o Encontro Social da Brasil Perl Mongers. > > > > O encontro será as 20:30h no Bar Pingüim, rua . > > > > A Brasil Perl Monger está com um estante em parceria com ABRASOL no V > > FISL, os monges que estirem no evento podem chegar até lá. > > > > Encontro Técnico da Brasil Perl Mongers, ainda não está definido a hora > > e o local, mas o encontro será realizado nesta sexta-feira, 04 de junho > > de 2004. > > > > A proveitamos para convidar todos os Monges a participarem dos encontros. > > > > Monges confirmados para os encontros: > > > > Marco Lima (MAGO) - Rio.PM > > Flavio Glock - Brasil.PM > > Fabiano Righetti - Cascavel.PM > > Nelson Ferraz - São Paulo.PM > > Ricardo Filipo - Rio.PM > > Ramoni - Rio.PM > > > > > > [ ]'s > > > > Marco Lima e Flavio Glock > > > > _______________________________________________ > > Cascavel-pm mailing list > > Cascavel-pm@mail.pm.org > > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > From pmpoa em galvao.eti.br Fri Jun 4 07:41:08 2004 From: pmpoa em galvao.eti.br (=?ISO-8859-1?Q?Er_Galv=E3o_Abbott_-_PM_Porto_Alegre?=) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] V FISL - Encontro Social da Brasil Perl Mongers In-Reply-To: <003501c449d9$47908140$ad57a8c0@fortalnet.com.br> References: <003501c449d9$47908140$ad57a8c0@fortalnet.com.br> Message-ID: <40C06DE4.8070707@galvao.eti.br> Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040604/4b0b3ab9/attachment.htm From pmpoa em galvao.eti.br Fri Jun 4 10:26:24 2004 From: pmpoa em galvao.eti.br (=?ISO-8859-1?Q?Er_Galv=E3o_Abbott_-_PM_Porto_Alegre?=) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] V FISL - Encontro =?ISO-8859-1?Q?T=E9cnico_d?= =?ISO-8859-1?Q?a_Brasil_Perl_Mongers?= In-Reply-To: <40C07C13.12B2@pucrs.br> References: <003501c449d9$47908140$ad57a8c0@fortalnet.com.br> <40C07C13.12B2@pucrs.br> Message-ID: <40C094A0.2020804@galvao.eti.br> Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040604/fe3dc20c/attachment.htm From pmpoa em galvao.eti.br Sat Jun 5 13:24:14 2004 From: pmpoa em galvao.eti.br (=?ISO-8859-1?Q?Er_Galv=E3o_Abbott_-_PM_Porto_Alegre?=) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <001601c44b1d$a8539040$ad57a8c0@fortalnet.com.br> References: <001601c44b1d$a8539040$ad57a8c0@fortalnet.com.br> Message-ID: <40C20FCE.8030205@galvao.eti.br> Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040605/bce31274/attachment.htm From marco.lima em e-via.com.br Sat Jun 5 14:17:29 2004 From: marco.lima em e-via.com.br (Your Name) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Compilar o Perl Message-ID: Gabriel: Qual é a verdadeira razão para que seus usuários não vejam o código fonte ? [ ]ś Mago > This is a multi-part message in MIME format. > > > Amigos Monges, > > estou procurando uma solução para que eu possa fornecer um script perl apenas para execução aos usuários da minha shell. > Ou seja, eles não poderão ler o arquivo, apenas executá-lo, mas estou tendo problemas, pois para executá-lo é necessário a leitura do mesmo. > Como tentativa de solução, procuro compilar o perl como 'executivo' para FreeBSD. > > Por isso recorro a vocês. Alguém me indica um compilador? :) > PerlCC deu erro. > PerlBin deu erro. > TinyPerl é pra Windows (dps solicitarei suporte a ele tb ;P). > > Caso solicitem retornarei o próximo contato com erro obtido por mim. > > > * Procuro uma solução de preferência gratuita ;). > > Agradeço a todos, > > Gabriel Vieira > Marco Lima marco.lima@e-via.com.br +55 21 81230667 Register Linux User #355235 Brasil Perl Monger From fglock em pucrs.br Sat Jun 5 15:01:46 2004 From: fglock em pucrs.br (fglock@pucrs.br) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Re: V FISL Message-ID: <200406052003.i55K32b7027763@rigel.pucrs.br> O http://brasil.pm.org ja esta atualizado com as noticias do encontro durante o Forum... - Flavio S. Glock From shonorio em terra.com.br Sat Jun 5 17:35:23 2004 From: shonorio em terra.com.br (Solli Moreria Honorio) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Ler o arquivo do final In-Reply-To: <618379512.20040605113917@grad.icmc.usp.br> Message-ID: <000001c44b4d$643b9d50$32cbcfc8@eraser> Luís, Eu nunca precisei de nada parecido, mas acredito que uma boa alternativa seria você fazer a busca binária mesmo. Você poderia armazenar a última posição do acesso e continuar daquele ponto (se é que vc já não esteja fazendo isto). Eu utilizo um sistema para gerar estatística de acesso nos sites de web escrito em Perl, o nosso log é grande ( + 50 Mb ), e ele utiliza um esquema assim. Se você quiser dar uma olhada no cara (se é que já não conhece) vai aí o link http://awstats.sourceforge.net/ Abraços, Solli -----Original Message----- From: cascavel-pm-bounces@mail.pm.org [mailto:cascavel-pm-bounces@mail.pm.org] On Behalf Of Luís Fernando Sent: sábado, 5 de junho de 2004 11:39 To: Cascavel Perl Mongers Subject: Re: [Cascavel-pm] Ler o arquivo do final Legal. Eu estava precisando disso esses dias exatamente para o que citaram num dos tópicos mostrados nesse site: Ler um log até a data de ontem (na verdade é um programa que analisa log de X em X minutos, então ele deve analisar só a partir dos últimos X minutos). Usei o Date:ICal para manipular data/hora e... como achei que ficaria ineficiente ler de trás para frente (o arquivo tem em média umas 200.000 linhas e 50 MBs), acabei fazendo uma busca binária nele até achar a data anterior à que eu estou procurando. Mas não tenho certeza se fica muito mais eficiente assim. Eu sei que o que mais consome tempo de HD são seeks, e em um arquivo de 200.000 linhas podemos estimar uns 16 seeks (log2)... Mas se, para ler o arquivo de trás para frente for necessário dar um seek para cada linha (ou fazer uma paginação e dar 1 seek para cada 1000 linhas, por exemplo), consumiremos muito mais... Alguém conhece alguma solução mais eficiente? /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 5/6/2004, 08:39 <---| Return-Path: X-Original-To: lemon@grad.icmc.usp.br Delivered-To: lemon@grad.icmc.usp.br Received: from www.pm.org (mail.pm.org [64.49.222.22]) by mail.grad.icmc.usp.br (Postfix) with ESMTP id D942AFF511 for ; Sat, 5 Jun 2004 08:31:12 -0300 (EST) Received: from www.pm.org (localhost [127.0.0.1]) by www.pm.org (8.12.11/8.12.11) with ESMTP id i55BdBMl024955; Sat, 5 Jun 2004 06:39:38 -0500 Received: from linares.terra.com.br (linares.terra.com.br [200.154.55.228]) by www.pm.org (8.12.11/8.12.11) with ESMTP id i55Bd8rP024952 for ; Sat, 5 Jun 2004 06:39:09 -0500 Received: from pasto.terra.com.br (pasto.terra.com.br [200.154.55.137]) by linares.terra.com.br (Postfix) with ESMTP id 3B7E4DDC2C1 for ; Sat, 5 Jun 2004 08:39:07 -0300 (BRT) Received: from eraser (200-207-203-50.dsl.telesp.net.br [200.207.203.50]) (authenticated user shonorio) by pasto.terra.com.br (Postfix) with ESMTP id E2B8F3C009 for ; Sat, 5 Jun 2004 08:39:05 -0300 (BRT) From: "Solli Moreria Honorio" To: "Cascavel Perl Mongers" Date: Sat, 5 Jun 2004 08:39:14 -0300 Message-ID: <000001c44af1$bac430d0$32cbcfc8@eraser> MIME-Version: 1.0 X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2616 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2739.300 Subject: [Cascavel-pm] Ler o arquivo do final X-BeenThere: cascavel-pm@mail.pm.org X-Mailman-Version: 2.1.4 Precedence: list Reply-To: Cascavel Perl Mongers List-Id: Cascavel Perl Mongers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0128597405==" Sender: cascavel-pm-bounces@mail.pm.org Errors-To: cascavel-pm-bounces@mail.pm.org Ola pessoal, Há uns dias foi solicitado ajuda para ler um arquivo do final para o início. No perlmonk tem algumas perguntas sobre isto, se ainda tiveres com dúvida (ou querendo confirmar se implementou a melhor solução) dê uma olhada no link abaixo. http://www.perlmonks.com/index.pl?node_id=361397 Ou pode dar uma passeada no Cpan e dar uma olhada nos módulos abaixo : http://search.cpan.org/~uri/File-ReadBackwards-1.02/ReadBackwards.pm http://search.cpan.org/~mjd/Tie-File-0.96/lib/Tie/File.pm Solli _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From gmpowers em terra.com.br Sat Jun 5 17:08:57 2004 From: gmpowers em terra.com.br (Graciliano M. P.) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Re: Compilar o Perl References: <200406051700.i55H07nM028125@www.pm.org> Message-ID: <004601c44b49$b2cc5d50$0100a8c0@main> Na verdade a sua pergunta seria "Como cifrar um código em Perl para esconder o seu source?" Exitem várias ferramentas para isto no CPAN, mas como vc quer publicar a sua aplicação já como executável, recomendo fortemente o PAR, que já integra todas essas funcionalidades: http://search.cpan.org/~autrijus/PAR-0.83/lib/PAR.pm (vc terá que instalar várias dependências) Note que sem cifrar (não exite o verbo encriptar em português), o seu código não estará protegido, pois estará aberto no meio do executável, e qualquer programa pode ser utilizado para remover o código. Na verdade qualquer usuário mais experiente é capaz de decifrar mesmo o código cifrado junto ao executável, já que a chave para decodificação e o decodificador têm que está junto ao código. No fim das contas não é possível ter 100% de certeza de que o seu código estará escondido, a não ser que vc mesmo crie o seu sistema de codificação e não o publique. Quanto ao TinyPerl, a próxima versão dele será baseada no PAR, mas antes tenho que trabalhar com o autor do PAR para levar algumas funcionalidades do TinyPerl para o PAR, para manter o pacote pequeno o suficiente, já que o PAR gera executáveis com mais d 1Mb. O problema é que muita coisa na arquitetura do PAR tem que ser modificada para isto, talvez eu faça um PAR::Tiny e o puiblique. Atenciosamente, Graciliano M. P. > Amigos Monges, > > estou procurando uma solução para que eu possa fornecer um script perl apenas para execução aos usuários da minha shell. > Ou seja, eles não poderão ler o arquivo, apenas executá-lo, mas estou tendo problemas, pois para executá-lo é necessário a leitura do mesmo. > Como tentativa de solução, procuro compilar o perl como 'executivo' para FreeBSD. > > Por isso recorro a vocês. Alguém me indica um compilador? :) > PerlCC deu erro. > PerlBin deu erro. > TinyPerl é pra Windows (dps solicitarei suporte a ele tb ;P). > > Caso solicitem retornarei o próximo contato com erro obtido por mim. > > > * Procuro uma solução de preferência gratuita ;). > > Agradeço a todos, > > Gabriel Vieira > From adriel em vetorial.net Fri Jun 4 18:36:39 2004 From: adriel em vetorial.net (adriel) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Mapa da cidade Message-ID: <004101c44a8c$cf0b07e0$1e5a8fc8@adl> Alou... Estou por ir a Cascavel e gostaria de um mapa da cidade, alguem poderia me mandar / Gracias Adriel Rio Grande RS -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040604/810bf881/attachment.htm From shonorio em terra.com.br Sat Jun 5 20:31:51 2004 From: shonorio em terra.com.br (Solli Moreria Honorio) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Re: Compilar o Perl In-Reply-To: <004601c44b49$b2cc5d50$0100a8c0@main> Message-ID: <000601c44b66$0cbcbe60$32cbcfc8@eraser> Ola Graciliano, eu gostaria de obter mais informação sobre este processo de cifragem do código, outra coisa que até o momento não consegui compreender muito bem é a questão de gerar código executavel (principalmente para o mundo Windows). Já li que na verdade os compiladores Perl2Exe e o Active State PDK não compilam o código e sim encapsulam dentro de um mini perl. Você poderia me esplicar como isto funciona realmente ? Ou indicar links para eu resolver esta dúvida ! Obrigado, Solli -----Original Message----- From: cascavel-pm-bounces@mail.pm.org [mailto:cascavel-pm-bounces@mail.pm.org] On Behalf Of Graciliano M. P. Sent: sábado, 5 de junho de 2004 19:09 To: cascavel-pm@mail.pm.org Subject: [Cascavel-pm] Re: Compilar o Perl Na verdade a sua pergunta seria "Como cifrar um código em Perl para esconder o seu source?" Exitem várias ferramentas para isto no CPAN, mas como vc quer publicar a sua aplicação já como executável, recomendo fortemente o PAR, que já integra todas essas funcionalidades: http://search.cpan.org/~autrijus/PAR-0.83/lib/PAR.pm (vc terá que instalar várias dependências) Note que sem cifrar (não exite o verbo encriptar em português), o seu código não estará protegido, pois estará aberto no meio do executável, e qualquer programa pode ser utilizado para remover o código. Na verdade qualquer usuário mais experiente é capaz de decifrar mesmo o código cifrado junto ao executável, já que a chave para decodificação e o decodificador têm que está junto ao código. No fim das contas não é possível ter 100% de certeza de que o seu código estará escondido, a não ser que vc mesmo crie o seu sistema de codificação e não o publique. Quanto ao TinyPerl, a próxima versão dele será baseada no PAR, mas antes tenho que trabalhar com o autor do PAR para levar algumas funcionalidades do TinyPerl para o PAR, para manter o pacote pequeno o suficiente, já que o PAR gera executáveis com mais d 1Mb. O problema é que muita coisa na arquitetura do PAR tem que ser modificada para isto, talvez eu faça um PAR::Tiny e o puiblique. Atenciosamente, Graciliano M. P. > Amigos Monges, > > estou procurando uma solução para que eu possa fornecer um script perl apenas para execução aos usuários da minha shell. > Ou seja, eles não poderão ler o arquivo, apenas executá-lo, mas estou tendo problemas, pois para executá-lo é necessário a leitura do mesmo. > Como tentativa de solução, procuro compilar o perl como 'executivo' para FreeBSD. > > Por isso recorro a vocês. Alguém me indica um compilador? :) > PerlCC deu erro. > PerlBin deu erro. > TinyPerl é pra Windows (dps solicitarei suporte a ele tb ;P). > > Caso solicitem retornarei o próximo contato com erro obtido por mim. > > > * Procuro uma solução de preferência gratuita ;). > > Agradeço a todos, > > Gabriel Vieira > _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From lemon em grad.icmc.usp.br Sat Jun 5 20:53:36 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Ler o arquivo do final In-Reply-To: <000001c44b4d$643b9d50$32cbcfc8@eraser> References: <000001c44b4d$643b9d50$32cbcfc8@eraser> Message-ID: <657690733.20040605225336@grad.icmc.usp.br> É, eu pensei em usar o sistema de marcar até onde foi lido na última análise e continuar a partir deste ponto, mas poderia gerar conflitos ao "rodar" o log (semanalmente o log atual é compactado com nome de log.1 - e o .1 vira .2, o .2 vira .3, etc.) e resetado. Daí talvez fosse dar mais trabalho ficar checando esses casos do que fazer a própria busca. Quanto ao AwStats, imagino que ele tenha alguma checagem para isso (por exemplo salvar o conteúdo da linha em que parou parar comparar se é igual mesmo - se não for, ele pode fazer a busca). /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 5/6/2004, 19:35 <---| Luís, Eu nunca precisei de nada parecido, mas acredito que uma boa alternativa seria você fazer a busca binária mesmo. Você poderia armazenar a última posição do acesso e continuar daquele ponto (se é que vc já não esteja fazendo isto). Eu utilizo um sistema para gerar estatística de acesso nos sites de web escrito em Perl, o nosso log é grande ( + 50 Mb ), e ele utiliza um esquema assim. Se você quiser dar uma olhada no cara (se é que já não conhece) vai aí o link http://awstats.sourceforge.net/ Abraços, Solli From lechamps em terra.com.br Sun Jun 6 07:50:07 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Re: Compilar o Perl References: <200406051700.i55H07nM028125@www.pm.org> <004601c44b49$b2cc5d50$0100a8c0@main> Message-ID: <006e01c44bc4$cd7b4e60$fba0fea9@laffit> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - ----- Original Message ----- From: "Graciliano M. P." To: Sent: Saturday, June 05, 2004 7:08 PM Subject: [Cascavel-pm] Re: Compilar o Perl > Na verdade a sua pergunta seria "Como cifrar um código em Perl para esconder > o seu source?" > Se seu problema é "cifrar" o fonte e impedir as pessoas de terem acesso a ele, acho que você pode usar o ACME::Buffy, mais simples, fácil e rápido (não tem muitas dependências): http://search.cpan.org/~lbrocard/Acme-Buffy-1.3/lib/Acme/Buffy.pm Para compilar realmente o fonte em executável, a melhor solução -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) - WinPT 0.7.96rc1 iD8DBQFAwxLsz+iwwpKRaDIRAnCrAKCcMOyWTnwNSLZ9J+b4/63wvXXeDQCgoalz fTaavfMAPmTZE63RJz1jEc4= =b3l8 -----END PGP SIGNATURE----- From shonorio em terra.com.br Sun Jun 6 08:20:48 2004 From: shonorio em terra.com.br (Solli Moreria Honorio) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Ler o arquivo do final In-Reply-To: <657690733.20040605225336@grad.icmc.usp.br> Message-ID: <000001c44bc9$15a4fb60$32cbcfc8@eraser> Luís, Como você faz hoje para saber se o log virou ? Você perde as informações dos log passado ? Eu ainda acho que você poderia utilizar a técnica de marca, mas neste caso então utilize duas marcar, uma para você saber se o arquivo é aquele mesmo que estava processando (como por exemplo a data de criação do arquivo, ou uma informação particular na primeira linha do arquivo - como uma data, e a outra para a última posição que você estava. Vou dar um exemplo, eu tenho script que captura os eventos logs do Windows, e os logs dos servidores estão marcado para rotacionar também (tenho servidor com mais de 250 MB), neste caso eu sempre continuo do último ponto de acesso. Para saber se o log foi rotacionado, eu compara a informação de data que foi capturado no passado com a informação que estou coletando, se não forem iguais eu assumo que o log já foi rotacionado. No meu caso o problema é um pouco mais complicado, pois o rotacionamento ocorre no mesmo arquivo. Solli -----Original Message----- From: cascavel-pm-bounces@mail.pm.org [mailto:cascavel-pm-bounces@mail.pm.org] On Behalf Of Luís Fernando Sent: sábado, 5 de junho de 2004 22:54 To: Cascavel Perl Mongers Subject: Re[2]: [Cascavel-pm] Ler o arquivo do final É, eu pensei em usar o sistema de marcar até onde foi lido na última análise e continuar a partir deste ponto, mas poderia gerar conflitos ao "rodar" o log (semanalmente o log atual é compactado com nome de log.1 - e o .1 vira .2, o .2 vira .3, etc.) e resetado. Daí talvez fosse dar mais trabalho ficar checando esses casos do que fazer a própria busca. Quanto ao AwStats, imagino que ele tenha alguma checagem para isso (por exemplo salvar o conteúdo da linha em que parou parar comparar se é igual mesmo - se não for, ele pode fazer a busca). /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 5/6/2004, 19:35 <---| Luís, Eu nunca precisei de nada parecido, mas acredito que uma boa alternativa seria você fazer a busca binária mesmo. Você poderia armazenar a última posição do acesso e continuar daquele ponto (se é que vc já não esteja fazendo isto). Eu utilizo um sistema para gerar estatística de acesso nos sites de web escrito em Perl, o nosso log é grande ( + 50 Mb ), e ele utiliza um esquema assim. Se você quiser dar uma olhada no cara (se é que já não conhece) vai aí o link http://awstats.sourceforge.net/ Abraços, Solli _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From lemon em grad.icmc.usp.br Sun Jun 6 09:31:38 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Ler o arquivo do final In-Reply-To: <000001c44bc9$15a4fb60$32cbcfc8@eraser> References: <000001c44bc9$15a4fb60$32cbcfc8@eraser> Message-ID: <544421936.20040606113138@grad.icmc.usp.br> Solli, no meu também rotaciona no mesmo arquivo (o "antigo" - que era o que eu estava analisando - vira "log.1", e é criado um novo sem conteúdo com o nome do "antigo"). Como eu estou fazendo busca sempre (sem marcar a última posição), não tenho que me preocupar se rotacionou ou não, pois sempre vai procurar a data no arquivo, independente do último conteúdo dele. Eu perco as últimas informações quanto ele rotaciona, mas não são importantes... O meu script serve para analisar o log do servidor de E-Mails e procurar "sintomas" de SPAM. Dependendo da configuração feita no script, ele já pode enviar comando de bloqueio dos IPs para o iptables. Quanto à técnica de marcas, parece que funciona. Só não implemento agora por não ser tão crítico (o script roda em média 1x/hora). Mas talvez quando eu conseguir pensar nas principais características de SPAM (tenho um log do meu servidor com 4 horas sem SPAM e 4 horas com SPAM, preciso analisá-lo com mais calma para ver as diferenças mais gerais e poder implementar). /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 6/6/2004, 10:20 <---| Luís, Como você faz hoje para saber se o log virou ? Você perde as informações dos log passado ? Eu ainda acho que você poderia utilizar a técnica de marca, mas neste caso então utilize duas marcar, uma para você saber se o arquivo é aquele mesmo que estava processando (como por exemplo a data de criação do arquivo, ou uma informação particular na primeira linha do arquivo - como uma data, e a outra para a última posição que você estava. Vou dar um exemplo, eu tenho script que captura os eventos logs do Windows, e os logs dos servidores estão marcado para rotacionar também (tenho servidor com mais de 250 MB), neste caso eu sempre continuo do último ponto de acesso. Para saber se o log foi rotacionado, eu compara a informação de data que foi capturado no passado com a informação que estou coletando, se não forem iguais eu assumo que o log já foi rotacionado. No meu caso o problema é um pouco mais complicado, pois o rotacionamento ocorre no mesmo arquivo. Solli From gabriel em webclube.com Sun Jun 6 16:09:26 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Compilar o Perl References: Message-ID: <00a301c44c0a$94c8fb80$ad57a8c0@fortalnet.com.br> Não quero a distribuição do código. :) Já que o mesmo pode ser copiado e utilizado por outros provedores. Abraços, Gabriel Vieira ----- Original Message ----- From: "Your Name" To: "Cascavel Perl Mongers" Sent: Saturday, June 05, 2004 4:17 PM Subject: Re: [Cascavel-pm] Compilar o Perl > Gabriel: > > Qual é a verdadeira razão para que seus usuários não vejam o código fonte ? > > [ ]ś > > Mago > > > This is a multi-part message in MIME format. > > > > > > Amigos Monges, > > > > estou procurando uma solução para que eu possa fornecer um script perl > apenas para execução aos usuários da minha shell. > > Ou seja, eles não poderão ler o arquivo, apenas executá-lo, mas estou > tendo problemas, pois para executá-lo é necessário a leitura do mesmo. > > Como tentativa de solução, procuro compilar o perl como 'executivo' > para FreeBSD. > > > > Por isso recorro a vocês. Alguém me indica um compilador? :) > > PerlCC deu erro. > > PerlBin deu erro. > > TinyPerl é pra Windows (dps solicitarei suporte a ele tb ;P). > > > > Caso solicitem retornarei o próximo contato com erro obtido por mim. > > > > > > * Procuro uma solução de preferência gratuita ;). > > > > Agradeço a todos, > > > > Gabriel Vieira > > > > > Marco Lima > marco.lima@e-via.com.br > +55 21 81230667 > > Register Linux User #355235 > Brasil Perl Monger > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From lechamps em terra.com.br Sun Jun 6 17:18:50 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:04 2004 Subject: [Cascavel-pm] Compilar o Perl References: <00a301c44c0a$94c8fb80$ad57a8c0@fortalnet.com.br> Message-ID: <001001c44c14$409b6840$64fafea9@laffit> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - ----- Original Message ----- From: "Gabriel Vieira" To: "Cascavel Perl Mongers" Sent: Sunday, June 06, 2004 6:09 PM Subject: Re: [Cascavel-pm] Compilar o Perl > Não quero a distribuição do código. :) > Já que o mesmo pode ser copiado e utilizado por outros provedores. > Mas mesmo que você não envie o fonte, outros provedores podem "copiar" e usar seu código, sem saber o "conteúdo"... - -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) - WinPT 0.7.96rc1 iD8DBQFAw5hHz+iwwpKRaDIRAh6nAKCqQiFdVSe6hD3FywUDCVvF13FRDACg1KVw e4TEC0Rf+5K42s9+YyKJtJY= =Z6I8 -----END PGP SIGNATURE----- From shonorio em terra.com.br Sun Jun 6 18:27:09 2004 From: shonorio em terra.com.br (Solli Moreria Honorio) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <001001c44c14$409b6840$64fafea9@laffit> Message-ID: <000201c44c1d$c9d55360$32cbcfc8@eraser> > Mas mesmo que você não envie o fonte, outros provedores podem >"copiar" e usar seu código, sem saber o "conteúdo"... ???? Desculpe, eu não compreendi !! A minha cabecinha está muito atrabalhada depois de passar o final de semana respirando SDK e comendo Win32 API. Você poderia me informar melhor a tua afirmação ? Solli From lemon em grad.icmc.usp.br Sun Jun 6 18:33:56 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <000201c44c1d$c9d55360$32cbcfc8@eraser> References: <000201c44c1d$c9d55360$32cbcfc8@eraser> Message-ID: <12626183.20040606203356@grad.icmc.usp.br> Pelo que entendi, o medo dele é que outros provedores usem o programa dele... por isso ele não quer distribuir o código. E essa mensagem diz que, mesmo seu ter o código, é só copiar o binário para usar... /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 6/6/2004, 20:27 <---| > Mas mesmo que você não envie o fonte, outros provedores podem >"copiar" e usar seu código, sem saber o "conteúdo"... ???? Desculpe, eu não compreendi !! A minha cabecinha está muito atrabalhada depois de passar o final de semana respirando SDK e comendo Win32 API. Você poderia me informar melhor a tua afirmação ? Solli _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From lechamps em terra.com.br Mon Jun 7 08:30:19 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <000201c44c1d$c9d55360$32cbcfc8@eraser> References: <000201c44c1d$c9d55360$32cbcfc8@eraser> Message-ID: <40C46DEB.8010105@terra.com.br> Solli Moreria Honorio wrote: >> Mas mesmo que você não envie o fonte, outros provedores podem >>"copiar" e usar seu código, sem saber o "conteúdo"... > > ???? Desculpe, eu não compreendi !! > > A minha cabecinha está muito atrabalhada depois de passar o final de > semana respirando SDK e comendo Win32 API. Você poderia me informar > melhor a tua afirmação ? > Suponha que o fonte esteja simplesmente "encriptado". Isso pode ser feito com o Acme::Buffy, por exemplo. Desta forma, não é possível ler o fonte, já que a criptografia não permite. Mas ainda assim se pode copiar o arquivo e carregá-lo em outra máquina, onde ele funcionará da mesmas forma como funciona aqui... Se o objetivo é desencorajar a "pirataria" do seu fonte, esta não é a melhor solução. Mas acho que não dá para piratear fontes open-source... :-) esta pode ser uma saída mais política e menos estressante... e você ainda pode "vender" serviços, deixando contatos dentro do programa... :-) sempre tem alguém que gosta e quer mexer alguma coisinha... Sugerindo... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From shonorio em terra.com.br Mon Jun 7 09:14:35 2004 From: shonorio em terra.com.br (Solli Moreira Honorio) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl Message-ID: Mas isto também pode ser uma 'vingança' ou necessidade. No caso da 'vingança' tenho exemplo onde eu trabalho, eu passo o final de semana estudando quilos de livros e bebendo de fonte disponível na Internet, para desenvolver soluções para os problema que me criam na minha rede, e não ganho nada com isto (pelo contrário, até economiso muita grana para a empresa) !!! Então desta forma eu poderia crifar o código para permitir a funcionalidade, mas não deixar os caras ver o código. É mesquinho, eu sei... mas um dia você poderia ter o sádico prazer de ver alguém, da onde você trabalhava no caso, postando nas listas de Perl "alguém saber como descifrar um código perl ?!". No caso da necessidade, digamos que tenho um código que utiliza senha... É extremamente complicado fazer código que precisa trabalhar com senha e o código esteja lá, 'easy to change'. Eu por exemplo estou trabalhando em uns sistemas que estou com este problema, eu gostaria muito de colocar algum tipo de autenticação (estou trabalhando com Web Services) e não sei como equacionar a questão da identificação. Solli De:cascavel-pm-bounces@mail.pm.org Para:"Cascavel Perl Mongers" cascavel-pm@mail.pm.org Cópia: Data:Mon, 07 Jun 2004 10:30:19 -0300 Assunto:Re: [Cascavel-pm] Compilar o Perl > Solli Moreria Honorio wrote: > >> Mas mesmo que você não envie o fonte, outros provedores podem > >>"copiar" e usar seu código, sem saber o "conteúdo"... > > > > ???? Desculpe, eu não compreendi !! > > > > A minha cabecinha está muito atrabalhada depois de passar o final de > > semana respirando SDK e comendo Win32 API. Você poderia me informar > > melhor a tua afirmação ? > > > > Suponha que o fonte esteja simplesmente "encriptado". Isso pode ser > feito com o Acme::Buffy, por exemplo. Desta forma, não é possível ler o > fonte, já que a criptografia não permite. Mas ainda assim se pode copiar > o arquivo e carregá-lo em outra máquina, onde ele funcionará da mesmas > forma como funciona aqui... > > Se o objetivo é desencorajar a "pirataria" do seu fonte, esta não é a > melhor solução. > > Mas acho que não dá para piratear fontes open-source... :-) esta pode > ser uma saída mais política e menos estressante... e você ainda pode > "vender" serviços, deixando contatos dentro do programa... :-) sempre > tem alguém que gosta e quer mexer alguma coisinha... > > Sugerindo... > Putamplexos! > -- > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Luis Campos de Carvalho is BSc in Comp Science, > PerlMonk [SiteDocClan], Cascavel-pm Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040607/41f4a880/attachment.htm From lechamps em terra.com.br Mon Jun 7 09:49:52 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: References: Message-ID: <40C48090.9000900@terra.com.br> Solli Moreira Honorio wrote: > Mas isto também pode ser uma 'vingança' ou necessidade. A vingança levará você ao lado negro da força, Luke... > No caso da 'vingança' tenho exemplo onde eu trabalho, eu passo o final > de semana estudando quilos de livros e bebendo de fonte disponível na > Internet, para desenvolver soluções para os problema que me criam na > minha rede, e não ganho nada com isto (pelo contrário, até economiso > muita grana para a empresa) !!! Então desta forma eu poderia crifar o > código para permitir a funcionalidade, mas não deixar os caras ver o > código. É mesquinho, eu sei... mas um dia você poderia ter o sádico > prazer de ver alguém, da onde você trabalhava no caso, postando nas > listas de Perl "alguém saber como descifrar um código perl ?!". Você já tentou desenvolver sua veia "perl-obfu" e simplesmente obfuscar o código um pouquinho? Isso normalmente é vingança pior... a turma até acredita que sabe mexer, e mela o fonte... :-) > No caso da necessidade, digamos que tenho um código que utiliza senha... > É extremamente complicado fazer código que precisa trabalhar com senha e > o código esteja lá, 'easy to change'. Eu por exemplo estou trabalhando > em uns sistemas que estou com este problema, eu gostaria muito de > colocar algum tipo de autenticação (estou trabalhando com Web Services) > e não sei como equacionar a questão da identificação. Luke, quero dizer, Solli, pelamordeDeus... leia Net::LDAP e pare de choramingar... :-) ou use o (?:Net|Mail)::POP3, e autentique o carinha através da senha de pop dele... Apenas sugerindo... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From alfspsp em hotmail.com Sun Jun 6 10:57:11 2004 From: alfspsp em hotmail.com (=?iso-8859-1?Q?Alex_E._J._Falc=E3o?=) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl References: Message-ID: Achei isso interessante, tenho vários scripts de telnet para entrar em roteadores e coletar estatisticas, mas as senhas ficam espostas, achei interessante o ACME::Buffy, pelo memos evita dos "Xeretas" olharem a senha.... existe alguma opção mais legal de esconde estas senhas? Obrigado Alex Falcão ----- Original Message ----- From: Solli Moreira Honorio To: cascavel-pm Sent: Monday, June 07, 2004 11:14 AM Subject: Re: [Cascavel-pm] Compilar o Perl No caso da necessidade, digamos que tenho um código que utiliza senha... É extremamente complicado fazer código que precisa trabalhar com senha e o código esteja lá, 'easy to change'. Eu por exemplo estou trabalhando em uns sistemas que estou com este problema, eu gostaria muito de colocar algum tipo de autenticação (estou trabalhando com Web Services) e não sei como equacionar a questão da identificação. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040606/1902e41e/attachment.htm From mda em embratel.net.br Mon Jun 7 11:43:44 2004 From: mda em embratel.net.br (=?ISO-8859-1?Q?Marco_A_P_D=B4Andrade?=) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Ler o arquivo do final In-Reply-To: <544421936.20040606113138@grad.icmc.usp.br> References: <000001c44bc9$15a4fb60$32cbcfc8@eraser> <544421936.20040606113138@grad.icmc.usp.br> Message-ID: <40C49B40.5070405@embratel.net.br> Luis, Eu tenho uma implementação de analize de logs, e utilizo um esquema que copiei de uma versão antiga do POPRelayD (script para pop-before-smtp), que consiste em verificar a cada execução alguns parametros: Armazendo: tamanho, inode e posicao Caso tamanho seja menor ou inode modificado reseta a posicao para 0 Vou à posicao e inicio processamento... Simples, eficiente, e como vc mesmo disse, caso sejam perdidas algunas informações não são assim tão importantes... Claro... logs de mail são significativos, portanto eu recebo uma cópia para tratamento (via syslogd) e esta é zerada ao final de cada execução... Fica a minha sugestão! Sds, Marco Antonio Luís Fernando wrote: >Solli, > >no meu também rotaciona no mesmo arquivo (o "antigo" - que era o que >eu estava analisando - vira "log.1", e é criado um novo sem conteúdo >com o nome do "antigo"). >Como eu estou fazendo busca sempre (sem marcar a última posição), não >tenho que me preocupar se rotacionou ou não, pois sempre vai procurar >a data no arquivo, independente do último conteúdo dele. >Eu perco as últimas informações quanto ele rotaciona, mas não são >importantes... O meu script serve para analisar o log do servidor de >E-Mails e procurar "sintomas" de SPAM. Dependendo da configuração >feita no script, ele já pode enviar comando de bloqueio dos IPs para o >iptables. >Quanto à técnica de marcas, parece que funciona. Só não implemento >agora por não ser tão crítico (o script roda em média 1x/hora). Mas >talvez quando eu conseguir pensar nas principais características de >SPAM (tenho um log do meu servidor com 4 horas sem SPAM e 4 horas com >SPAM, preciso analisá-lo com mais calma para ver as diferenças mais >gerais e poder implementar). > >/* > >+---------------------------------+ >| Luís Fernando Estrozi | >+---------------------------------+ >| Ciência da Computação - USP | >| | >| mailto:lemon@grad.icmc.usp.br | >| ICQ#: 25541891 | >| | >| http://grad.icmc.usp.br/~lemon/ | >+---------------------------------+ > >There are 10 types of people in the world: Those who understand binary, and those who don't > >*/ EOF > >|---> Original Message <---> 6/6/2004, 10:20 <---| >Luís, > >Como você faz hoje para saber se o log virou ? Você perde as informações >dos log passado ? Eu ainda acho que você poderia utilizar a técnica de >marca, mas neste caso então utilize duas marcar, uma para você saber se >o arquivo é aquele mesmo que estava processando (como por exemplo a data >de criação do arquivo, ou uma informação particular na primeira linha do >arquivo - como uma data, e a outra para a última posição que você >estava. > >Vou dar um exemplo, eu tenho script que captura os eventos logs do >Windows, e os logs dos servidores estão marcado para rotacionar também >(tenho servidor com mais de 250 MB), neste caso eu sempre continuo do >último ponto de acesso. Para saber se o log foi rotacionado, eu compara >a informação de data que foi capturado no passado com a informação que >estou coletando, se não forem iguais eu assumo que o log já foi >rotacionado. No meu caso o problema é um pouco mais complicado, pois o >rotacionamento ocorre no mesmo arquivo. > >Solli > >_______________________________________________ >Cascavel-pm mailing list >Cascavel-pm@mail.pm.org >http://cascavel.pm.org/mailman/listinfo/cascavel-pm > > > From lechamps em terra.com.br Mon Jun 7 12:38:25 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: References: Message-ID: <40C4A811.4070907@terra.com.br> Alex E. J. Falcão wrote: > Achei isso interessante, > > > tenho vários scripts de telnet para entrar em roteadores e coletar > estatisticas, mas as senhas ficam espostas, achei interessante o > ACME::Buffy, pelo memos evita dos "Xeretas" olharem a senha.... existe > alguma opção mais legal de esconde estas senhas? > Você poderia tentar colocar as senhas em um arquivo de configuração, encriptada de alguma forma a impedir "xeretas". Desta forma, apenas o script teria acesso à forma encriptada da senha... []'z! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From shonorio em terra.com.br Mon Jun 7 13:01:53 2004 From: shonorio em terra.com.br (Solli Moreira Honorio) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl Message-ID: > > A vingança levará você ao lado negro da força, Luke... > Para alguns eu já estou no 'lado negro da força', ainda mais com esta história da Microsoft patentiar o duplo-click e outras coisinhas mais.... > > Você já tentou desenvolver sua veia "perl-obfu" e simplesmente > obfuscar o código um pouquinho? Isso normalmente é vingança pior... a > turma até acredita que sabe mexer, e mela o fonte... :-) > Meu caro, você sabe que sou apenas um reles 'scribe', preciso de muito XP ainda para chegar à isto. Se bobiar vou eu acabar me confudindo todo com o meu código e aí sair correndo atrás dos monges :-) . Solli -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040607/2b1e62b2/attachment.htm From lechamps em terra.com.br Mon Jun 7 13:38:58 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: References: Message-ID: <40C4B642.1080601@terra.com.br> Solli Moreira Honorio wrote: > > > > A vingança levará você ao lado negro da força, Luke... > > > Para alguns eu já estou no 'lado negro da força', ainda mais com esta > história da Microsoft patentiar o duplo-click e outras coisinhas mais.... :-) Patentear o double-click é mesmo coisa do Tio Bill... :-) Eu acho ótimo, vamos ter a oportunidade de desenvolver novas interfaces de interação com o usuário... ahahaha... > > Você já tentou desenvolver sua veia "perl-obfu" e simplesmente > > obfuscar o código um pouquinho? Isso normalmente é vingança pior... a > > turma até acredita que sabe mexer, e mela o fonte... :-) > > > Meu caro, você sabe que sou apenas um reles 'scribe', preciso de muito > XP ainda para chegar à isto. Se bobiar vou eu acabar me confudindo todo > com o meu código e aí sair correndo atrás dos monges :-) . Humm... de certa forma, você tem razão. Mas ainda assim você não deve "apelar" para este tipo de recurso... pode ser prejudicial para os sistemas da empresa... e isso prejudica a sua imagem perante o mercado de trabalho... Na minha humilde opinião de Frade, eu acho que todo membro da comunidade Perl deve exercitar sua paciência e resignação, manter-se calmo e soltar todos os fontes e sistemas desenvolvidos para a empresa como "open-source" sempre que isso for possível ou existir uma brecha legal que o permita. Sempre há outras formas de resolver este tipo de problema. Mas claro, se tudo o mais falhar, use o Acme::Buffy... :-P -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From gabriel em webclube.com Mon Jun 7 17:16:29 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl References: <00a301c44c0a$94c8fb80$ad57a8c0@fortalnet.com.br> <001001c44c14$409b6840$64fafea9@laffit> Message-ID: <00a601c44ce0$a355a1e0$ad57a8c0@fortalnet.com.br> Olá Luis, fiz o sistema sob encomenda do provedor onde estou trabalhando. O fiz com a condição de poder vendê-lo a outros. Por isso não quero que tenham aceso ao mesmo. Ou seja (Graciliano), cifrar não é a solução. Como o sistema funciona? Através de acesso SSH, os clientes desse provedor executam o código. Porém para executar, é necessário ler, ou seja, eles ficam com acesso ao conteúdo do sistema, o que não é bom. A solução que encontrei é deixar o código como 'executável' para que os usuários não copiem o seu conteúdo. Irei ainda verificar o PAR, retornarei com resultado obtido. Agradeço a ajuda de todos, Gabriel Vieira ----- Original Message ----- From: "Luis Campos de Carvalho" To: "Cascavel Perl Mongers" Sent: Sunday, June 06, 2004 7:18 PM Subject: Re: [Cascavel-pm] Compilar o Perl > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > - ----- Original Message ----- > From: "Gabriel Vieira" > To: "Cascavel Perl Mongers" > Sent: Sunday, June 06, 2004 6:09 PM > Subject: Re: [Cascavel-pm] Compilar o Perl > > > > Não quero a distribuição do código. :) > > Já que o mesmo pode ser copiado e utilizado por outros provedores. > > > > Mas mesmo que você não envie o fonte, outros provedores podem > "copiar" e usar seu código, sem saber o "conteúdo"... > - -- > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Luis Campos de Carvalho is BSc in Comp Science, > PerlMonk [SiteDocClan], Cascavel-pm Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.1 (MingW32) - WinPT 0.7.96rc1 > > iD8DBQFAw5hHz+iwwpKRaDIRAh6nAKCqQiFdVSe6hD3FywUDCVvF13FRDACg1KVw > e4TEC0Rf+5K42s9+YyKJtJY= > =Z6I8 > -----END PGP SIGNATURE----- > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From lemon em grad.icmc.usp.br Mon Jun 7 17:46:36 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <00a601c44ce0$a355a1e0$ad57a8c0@fortalnet.com.br> References: <00a301c44c0a$94c8fb80$ad57a8c0@fortalnet.com.br> <001001c44c14$409b6840$64fafea9@laffit> <00a601c44ce0$a355a1e0$ad57a8c0@fortalnet.com.br> Message-ID: <1688703692.20040607194636@grad.icmc.usp.br> Dependendo do sistema operacional do provedor, você pode criar um binário em C, com um código como: void main() { system("/bin/programa_do_provedor.pl"; } Assim os usuários rodam o C (binário e você pode passar um upx por exemplo) ao invés do .pl. Eles continuariam tendo que ter acesso à leitura do .pl (já que o .c seria executado com usuário deles), MAS... eles não saberiam o nome dele ;) Dizem que "security is done in layers", então aí está mais um para o seu... apesar de ser uma solução "porca". Uma solução mais adequada talvez envolvesse escalar permissões para o binário em C (com SUDO por exemplo). /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 7/6/2004, 19:16 <---| Olá Luis, fiz o sistema sob encomenda do provedor onde estou trabalhando. O fiz com a condição de poder vendê-lo a outros. Por isso não quero que tenham aceso ao mesmo. Ou seja (Graciliano), cifrar não é a solução. Como o sistema funciona? Através de acesso SSH, os clientes desse provedor executam o código. Porém para executar, é necessário ler, ou seja, eles ficam com acesso ao conteúdo do sistema, o que não é bom. A solução que encontrei é deixar o código como 'executável' para que os usuários não copiem o seu conteúdo. Irei ainda verificar o PAR, retornarei com resultado obtido. Agradeço a ajuda de todos, Gabriel Vieira ----- Original Message ----- From: "Luis Campos de Carvalho" To: "Cascavel Perl Mongers" Sent: Sunday, June 06, 2004 7:18 PM Subject: Re: [Cascavel-pm] Compilar o Perl > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > - ----- Original Message ----- > From: "Gabriel Vieira" > To: "Cascavel Perl Mongers" > Sent: Sunday, June 06, 2004 6:09 PM > Subject: Re: [Cascavel-pm] Compilar o Perl > > > > Não quero a distribuição do código. :) > > Já que o mesmo pode ser copiado e utilizado por outros provedores. > > > > Mas mesmo que você não envie o fonte, outros provedores podem > "copiar" e usar seu código, sem saber o "conteúdo"... > - -- > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Luis Campos de Carvalho is BSc in Comp Science, > PerlMonk [SiteDocClan], Cascavel-pm Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.2.1 (MingW32) - WinPT 0.7.96rc1 > > iD8DBQFAw5hHz+iwwpKRaDIRAh6nAKCqQiFdVSe6hD3FywUDCVvF13FRDACg1KVw > e4TEC0Rf+5K42s9+YyKJtJY= > =Z6I8 > -----END PGP SIGNATURE----- > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From lechamps em terra.com.br Tue Jun 8 09:29:06 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <1688703692.20040607194636@grad.icmc.usp.br> References: <00a301c44c0a$94c8fb80$ad57a8c0@fortalnet.com.br> <001001c44c14$409b6840$64fafea9@laffit> <00a601c44ce0$a355a1e0$ad57a8c0@fortalnet.com.br> <1688703692.20040607194636@grad.icmc.usp.br> Message-ID: <40C5CD32.2040204@terra.com.br> Luís Fernando wrote: > Dependendo do sistema operacional do provedor, você pode criar um > binário em C, com um código como: > void main() { system("/bin/programa_do_provedor.pl"; } Gabriel, o que você acha de reconstruir o sistema em outra linguagem? Assim, poderia vender soluções "fechadas" mais facilmente... Talvez, tomando o seu programa perl como "protótipo" e construindo um equivalente em C, você consiga mais facilmente o que deseja. > Assim os usuários rodam o C (binário e você pode passar um upx por > exemplo) ao invés do .pl. Eles continuariam tendo que ter acesso à > leitura do .pl (já que o .c seria executado com usuário deles), MAS... eles não saberiam o nome dele ;) > > Dizem que "security is done in layers", então aí está mais um para o > seu... apesar de ser uma solução "porca". > > Uma solução mais adequada talvez envolvesse escalar permissões para o > binário em C (com SUDO por exemplo). Dizem também que "Security by obscurity is no security at all", ou, em bom português, "Segurança por obscuridade é (equivalente a) nenhuma segurança" Apenas mais uma pequena contribuição... Putamplexos. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From shonorio em terra.com.br Tue Jun 8 11:15:22 2004 From: shonorio em terra.com.br (Solli Moreira Honorio) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] =?iso-8859-1?q?Procurando_chifre_em_cabe=E7a_de_cavalo_=3F=3F=3F?= =?iso-8859-1?q?=00?= Message-ID: Pessoal, Eu acabei de ver uma pergunta interessante no Perlmonks e queria reproduzir-la. O cara mostrou dois código que de vista ambos deveriam funciar, mas não foi o caso, vejam só: %hash = map { $_, "$var/$_" } @array; # Works great %hash = map { "$var/$_", $_ } @array; # Syntax Error! A explicação é que '{' pode inicar tanto um hash como um bloco, sendo assim a '{' pode ser utilizada tanto para iniciar um bloco como para LIST, expressão. Como o Perl não olha a sentença inteira (na verdade eu acho que nenhuma linguagem de programação faz, elas compilam do início para o final e da esquerda para a direita - linearmente...), o map tem que adivinhar o que é desejado. Sendo assim é só utilizar a velha regra de matemática de explicitar o que você quer fazer primeiro com '()'. (mais informação : perldoc -f map ) A solução para o código com erro de sintaxe é : %hash = map { ( "$var/$_", $_ ) } @array; ou %hash = map +{ "$var/$_", $_ } @array; Olhando o problema me lembrei de uma discussão que tivemos em um dos 'social meet' sobre a sintaxe do Perl, o Luis (monsieur champs) diz que ela é maravilhosa (e nem aceita discutição... é um ditador em pessoa :-), mas outros (como eu) acha que ela pode levar a confusão (principalmente para o iniciantes), como esta. Isto só vem enfatizar a máxima do Perl, "Sempre existe mais de uma maneira de fazer a mesma coisa". Solli -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040608/d7cf75e8/attachment.htm From lechamps em terra.com.br Tue Jun 8 12:26:33 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Procurando chifre em =?ISO-8859-1?Q?cabe=E7a_?= =?ISO-8859-1?Q?de_cavalo_=3F=3F=3F?= In-Reply-To: References: Message-ID: <40C5F6C9.8090707@terra.com.br> Solli Moreira Honorio wrote: > Pessoal, > > Eu acabei de ver uma pergunta interessante no Perlmonks e queria > reproduzir-la. O cara mostrou dois código que de vista ambos deveriam > funciar, mas não foi o caso, vejam só: > > %hash = map { $_, "$var/$_" } @array; # Works great perl -MData::Dumper -e '$var = "X"; %hash = map { $_, "$var/$_" } "a".."h"; print Dumper( \%hash ), "\n"; ' $VAR1 = { 'e' => 'X/e', 'a' => 'X/a', 'd' => 'X/d', 'c' => 'X/c', 'h' => 'X/h', 'b' => 'X/b', 'g' => 'X/g', 'f' => 'X/f' }; > %hash = map { "$var/$_", $_ } @array; # Syntax Error! perl -MData::Dumper -e '$var = "X"; %hash = %hash = map { "$var/$_", $_ } "a".."h"; print Dumper( \%hash ), "\n"; ' syntax error at -e line 1, near "} "a"" Execution of -e aborted due to compilation errors. > A explicação é que '{' pode inicar tanto um hash como um bloco, sendo > assim a '{' pode ser utilizada tanto para iniciar um bloco como para > LIST, expressão. Como o Perl não olha a sentença inteira (na verdade eu > acho que nenhuma linguagem de programação faz, elas compilam do início > para o final e da esquerda para a direita - linearmente...), o map tem > que adivinhar o que é desejado. Sendo assim é só utilizar a velha regra > de matemática de explicitar o que você quer fazer primeiro com '()'. > (mais informação : perldoc -f map ) Correto! Perfeito! > A solução para o código com erro de sintaxe é : Solução? Vamos ver isso mais de perto... > %hash = map { ( "$var/$_", $_ ) } @array; ou Reproduzi assim: perl -MData::Dumper -e '$var = "X"; %h = map { ( "$var/$_", $_ ) } "a".."h"; print Dumper( \%h ), "\n";' E obtive: $VAR1 = { 'X/f' => 'f', 'X/e' => 'e', 'X/b' => 'b', 'X/d' => 'd', 'X/h' => 'h', 'X/c' => 'c', 'X/a' => 'a', 'X/g' => 'g' }; > %hash = map +{ "$var/$_", $_ } @array; Notem que aqui existe um erro de sintaxe: deveria haver uma ',' depois de '}' e antes de '@', na linha acima... Reproduzi assim: perl -MData::Dumper -e '$var = "X"; %h = map +{ "$var/$_", $_ }, "a".."h"; print Dumper( \%h ), "\n";' E obtive: $VAR1 = { 'HASH(0x81bae74)' => { 'X/d' => 'd' }, 'HASH(0x813eb9c)' => { 'X/h' => 'h' }, 'HASH(0x81baee0)' => { 'X/f' => 'f' }, 'HASH(0x813eab8)' => { 'X/b' => 'b' } }; Desnecessário dizer que os códigos produzem coisas diferentes, como era de se esperar... ;-) A solução esperada para o problema (que envolve conhecer realmente o parser do Perl) é acrescentar um '+' antes da string, dentro das chaves, assim: perl -MData::Dumper -e '$var = "X"; %hash = %hash = map { +"$var/$_", $_ } "a".."h"; print Dumper( \%hash ), "\n"; ' $VAR1 = { 'X/f' => 'f', 'X/e' => 'e', 'X/b' => 'b', 'X/d' => 'd', 'X/h' => 'h', 'X/c' => 'c', 'X/g' => 'g', 'X/a' => 'a' }; Desta forma, você obtém o resultado desejado, usando a sintaxe correta. > Olhando o problema me lembrei de uma discussão que tivemos em um dos > 'social meet' sobre a sintaxe do Perl, o Luis (monsieur champs) diz que > ela é maravilhosa (e nem aceita discutição... é um ditador em pessoa > :-), mas outros (como eu) acha que ela pode levar a confusão > (principalmente para o iniciantes), como esta. Eu realmente dissse que a sintaxe do Perl é maravilhosa. Mas não aceito que se considere a palavra "maravilhosa" semânticamente equivalente à palavra "didática": exatamente como os códigos apresentados pelo Solli, acima, as palavras dizem coisas diferentes, a pesar de "se parecerem muito"... (notem a ironia carregada ;-) Se alguém aqui está procurando uma linguagem "didática", melhor tentar com pascal... :-P Perl não foi projetada para ser "didática", mas sim "eclética". Você pode até ser "didático" em perl, mas apenas por que você quer. > Isto só vem enfatizar a máxima do Perl, "Sempre existe mais de uma > maneira de fazer a mesma coisa". Perl garante mais de uma forma de fazer a mesma coisa para fazer coisas iguais de jeitos diferentes... você tentou fazer coisas diferentes usando jeitos iguais... tem coisa estranha aqui... :-) Foi divertido! Vamos conversar mais disso no próximo social meeting? []'Z! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From shonorio em terra.com.br Tue Jun 8 12:52:34 2004 From: shonorio em terra.com.br (Solli Moreira Honorio) Date: Mon Aug 2 21:27:05 2004 Subject: =?iso-8859-1?b?UmU6IFtDYXNjYXZlbC1wbV0gIFByb2N1cmFuZG8gY2hpZnJlIGVtIGNh?= =?iso-8859-1?b?YmXnYSBkZSBjYXZhbG8gPz8/?= Message-ID: > > %hash = map +{ "$var/$_", $_ } @array; Ok, não testei este exemplo... > melhor tentar com pascal... :-P Perl não foi projetada Não estamos falando de 'lingua morta' :-P -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040608/c32faeff/attachment.htm From gabriel em webclube.com Tue Jun 8 23:18:06 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl References: <00a301c44c0a$94c8fb80$ad57a8c0@fortalnet.com.br> <001001c44c14$409b6840$64fafea9@laffit> <00a601c44ce0$a355a1e0$ad57a8c0@fortalnet.com.br><1688703692.20040607194636@grad.icmc.usp.br> <40C5CD32.2040204@terra.com.br> Message-ID: <004e01c44dd8$c584b5a0$ad57a8c0@fortalnet.com.br> Olá Champs e caríssimos monges, utilizei o PAR e aparentemente tem funcionado perfeitamente, ainda há o problema da leitura, porém como o código é 'cifrado' solicito que o script pegue o conteúdo de um arquivo cifrado de acordo com o 'registro' de venda. Se retornado o valor do conteúdo do arquivo e bater com o conteúdo estabelecido, ele rodará normal, se não, não. ;) Agradeço a ajuda de todos. Caso tenham sugestões tow aqui :D Grande abraços, Gabriel Vieira ----- Original Message ----- From: "Luis Campos de Carvalho" To: "Cascavel Perl Mongers" Sent: Tuesday, June 08, 2004 11:29 AM Subject: Re: [Cascavel-pm] Compilar o Perl > Luís Fernando wrote: > > Dependendo do sistema operacional do provedor, você pode criar um > > binário em C, com um código como: > > void main() { system("/bin/programa_do_provedor.pl"; } > > Gabriel, o que você acha de reconstruir o sistema em outra linguagem? > Assim, poderia vender soluções "fechadas" mais facilmente... > > Talvez, tomando o seu programa perl como "protótipo" e construindo um > equivalente em C, você consiga mais facilmente o que deseja. > > > Assim os usuários rodam o C (binário e você pode passar um upx por > > exemplo) ao invés do .pl. Eles continuariam tendo que ter acesso à > > leitura do .pl (já que o .c seria executado com usuário deles), MAS... eles não saberiam o nome dele ;) > > > > Dizem que "security is done in layers", então aí está mais um para o > > seu... apesar de ser uma solução "porca". > > > > Uma solução mais adequada talvez envolvesse escalar permissões para o > > binário em C (com SUDO por exemplo). > > Dizem também que "Security by obscurity is no security at all", ou, > em bom português, "Segurança por obscuridade é (equivalente a) nenhuma > segurança" > > Apenas mais uma pequena contribuição... > Putamplexos. > -- > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Luis Campos de Carvalho is BSc in Comp Science, > PerlMonk [SiteDocClan], Cascavel-pm Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From lechamps em terra.com.br Wed Jun 9 09:35:39 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <004e01c44dd8$c584b5a0$ad57a8c0@fortalnet.com.br> References: <00a301c44c0a$94c8fb80$ad57a8c0@fortalnet.com.br> <001001c44c14$409b6840$64fafea9@laffit> <00a601c44ce0$a355a1e0$ad57a8c0@fortalnet.com.br><1688703692.20040607194636@grad.icmc.usp.br> <40C5CD32.2040204@terra.com.br> <004e01c44dd8$c584b5a0$ad57a8c0@fortalnet.com.br> Message-ID: <40C7203B.7060708@terra.com.br> Gabriel Vieira wrote: > Olá Champs e caríssimos monges, > > utilizei o PAR e aparentemente tem funcionado perfeitamente, ainda há o > problema da leitura, porém como o código é 'cifrado' solicito que o script > pegue o conteúdo de um arquivo cifrado de acordo com o 'registro' de venda. > Se retornado o valor do conteúdo do arquivo e bater com o conteúdo > estabelecido, ele rodará normal, se não, não. ;) > Mesmo sendo eu um fanático pela GPL & Friends, isso é muitíssimo interesante... será que você não poderia exibir para a gente seu código fonte de verificação de "licensa"? Parabéns pela solução implementada. ;-) -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From glasswalk3r em yahoo.com.br Fri Jun 4 07:09:05 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <001601c44b1d$a8539040$ad57a8c0@fortalnet.com.br> References: <001601c44b1d$a8539040$ad57a8c0@fortalnet.com.br> Message-ID: <20040604090905.56642861@valhalla.localdomain> Olá Gabriel, On Sat, 5 Jun 2004 13:53:38 -0300 "Gabriel Vieira" wrote: > > estou procurando uma solução para que eu possa fornecer um script perl > apenas para execução aos usuários da minha shell. Seus usuários utilizarão apenas esse script shell ou precisam realmente ter acesso ao shell? Você poderia alterar o shell script deles para o nome do script Perl, caso o primeiro caso seja aplicável. Assim eles não executariam mais nada, nem veriam o script. > Ou seja, eles não poderão ler o arquivo, apenas executá-lo, mas estou > tendo problemas, pois para executá-lo é necessário a leitura do mesmo. > Como tentativa de solução, procuro compilar o perl como 'executivo' > para FreeBSD. > Por isso recorro a vocês. Alguém me indica um compilador? :) > PerlCC deu erro. Eu recomendaria você insistir no PerlCC. Qual o erro que você teve? Será que não faltou alguma biblioteca C para resolver seu problema? Ainda como alternativa você não poderia usar seu programa como um serviço de rede ou CGI? []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From glasswalk3r em yahoo.com.br Fri Jun 4 17:04:23 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: References: Message-ID: <20040604190423.55666fc2@valhalla.localdomain> On Mon, 7 Jun 2004 15:01:53 -0300 "Solli Moreira Honorio" wrote: > > > > A vingança levará você ao lado negro da força, Luke... > > > Para alguns eu já estou no 'lado negro da força', ainda mais com esta > história da Microsoft patentiar o duplo-click e outras coisinhas > mais.... Bem, agora ela resolveu patentear os comentários tipo "to do list" em arquivos fonte. Talvez ela resolva patentear o hábito de beber café depois de duas horas programando também. Logo será proibido programar de cuecas em casa. > > Você já tentou desenvolver sua veia "perl-obfu" e simplesmente > > obfuscar o código um pouquinho? Isso normalmente é vingança pior... > > a turma até acredita que sabe mexer, e mela o fonte... :-) Tem um script (shroud ou algo assim) para fazer essas coisas... ele retira comentários, espaços, identação do código e muda o nome das variáveis por nomes randômicos. Se alguém quiser eu mando o código de forma direta ou pra lista. > Meu caro, você sabe que sou apenas um reles 'scribe', preciso de muito > XP ainda para chegar à isto. Se bobiar vou eu acabar me confudindo > todo com o meu código e aí sair correndo atrás dos monges :-) . XP? Experience Points? Você também joga RPG, Solli? []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From glasswalk3r em yahoo.com.br Fri Jun 4 17:08:47 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <40C4B642.1080601@terra.com.br> References: <40C4B642.1080601@terra.com.br> Message-ID: <20040604190847.099b66dc@valhalla.localdomain> On Mon, 07 Jun 2004 15:38:58 -0300 Luis Campos de Carvalho wrote: > Na minha humilde opinião de Frade, eu acho que todo membro da > comunidade Perl deve exercitar sua paciência e resignação, manter-se > calmo e soltar todos os fontes e sistemas desenvolvidos para a empresa > como "open-source" sempre que isso for possível ou existir uma brecha > legal que o permita. Até porque linguagens compiladas não estão livres daqueles que conhecem a engenharia reversa. Que o diga os criadores de cracks! Programas comerciais já aplicam técnicas de obscuridade para esconder chaves de ativação e outras coisas. Isso é ruim, porque se desperdiça energia em algo que não contribui em nada a solução que o programa tenta oferecer. []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From glasswalk3r em yahoo.com.br Fri Jun 4 17:13:51 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: References: Message-ID: <20040604191351.178afd78@valhalla.localdomain> On Mon, 7 Jun 2004 11:14:35 -0300 "Solli Moreira Honorio" wrote: > No caso da 'vingança' tenho exemplo onde eu trabalho, eu passo o final > de semana estudando quilos de livros e bebendo de fonte disponível na > Internet, para desenvolver soluções para os problema que me criam na > minha rede, e não ganho nada com isto (pelo contrário, até economiso > muita grana para a empresa) !!! Então desta forma eu poderia crifar o > código para permitir a funcionalidade, mas não deixar os caras ver o > código. É mesquinho, eu sei... mas um dia você poderia ter o sádico > prazer de ver alguém, da onde você trabalhava no caso, postando nas > listas de Perl "alguém saber como descifrar um código perl ?!". Tem o lado ruim disso. Já escutei comentários de programadores experientes em outras linguagens dizerem que Perl é uma linguagem "write only", ou seja, apenas o programador que desenvolveu o código consegue decifrá-lo. > No caso da necessidade, digamos que tenho um código que utiliza > senha... É extremamente complicado fazer código que precisa trabalhar > com senha e o código esteja lá, 'easy to change'. Eu por exemplo estou > trabalhando em uns sistemas que estou com este problema, eu gostaria > muito de colocar algum tipo de autenticação (estou trabalhando com Web > Services) e não sei como equacionar a questão da identificação. Isso é complicado mesmo. Se você põe informações de identificação no script, basta alguém ter acesso de leitura ao código-fonte. Se coloca em um local separado do script, basta se ter acesso de execução e executar em modo de debug. Isso é um problema mais filosófico do que técnico, IMHO. []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From gmpowers em terra.com.br Sat Jun 12 16:53:18 2004 From: gmpowers em terra.com.br (Graciliano M. P.) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] =?iso-8859-1?q?LibZip_-_crie_execut=E1veis_bem_lev?= =?iso-8859-1?q?es_dos_seus_scripts?= References: <200406121700.i5CH0GQZ012964@www.pm.org> Message-ID: <001801c450c7$ac220080$0100a8c0@main> E aí pessoal, Acabei de publicar nesses dias o módulo LibZip no CPAN, e como o pessoal vem discutindo uma maneira de criar executáveis de um script (compilar), cá está uma solução: http://search.cpan.org/~gmpassos/LibZip-0.04/ Exitem também outros módulos similares: PAR, App::Packer e PerlBin. A história por trás destes módulos se cruzam. Tudo começou (eu acho) com o projeto HWX, onde era possível criar um executável do Perl que permitia adicionar um script no fim dele, e o próprio executável percebia a diferença de tamanho no exe e executava o código extra. Depois o Mattia Barbon (autor do wxPerl), criou o App::Packer, permitindo então carregar módulos, mas passar o gerenciamento da localização dos módulos para uma função, então foi possível carregar os módulos de um único arquivo que continha td o código agrupado. Em seguida PodMaster criou o módulo PerlBin, vindo diretamente do HWX, não sendo necessário compilar todo o Perl para criar o executável modificado. Depois veio o PAR, que baseou muita coisa no App::Packer e adicionou a possibilidade de carregar os módulos Perl de um arquivo PAR, que é um arquivo zip com alguns recursos extras. Mas úm pouco antes do PAR veio o TinyPerl (http://tinyperl.sf.net), onde se tinha o básico do Perl em apenas 600Kb, permitindo uma instalação rápida do Perl. O TinyPerl carregava os módulos diretamente de um arquivo lib.zip, tratando esse arquivo como a lib do Perl, e também utilizava alguma compressão sobre os executáveis. O que poucos sabem é que o TinyPerl utiliza internamente um módulo chamado LibZip para carregar arquivos diretamente do arquivo lib.zip. Recentemente eu e Autrijus (autor do PAR) estávamos discutindo uma maneira de fazer a próxima versão do TinyPerl com o PAR, permitindo então fazer o TinyPerl para outros SO, já q eu apenas publiquei o TinyPerl para Win32. O problema é que o PAR foi criado não apenas para criar executáveis, mas também para criar distribuições e pacotes independentes para a execução d um script. Em resumo, muita coisa da sua arquitetura teria que ser modificada. Então decidi recriar o LibZip desde o início. O resultado final é um LibZip que criar executáveis e o arquivo lib.zip automaticamente, sem contar com várias técnicas de compressão para diminuir td o pacote. Mas o mais difícil foi criar o código inicial, que carrega td o ambiente que ativa o uso do arquivo lib.zip como biblioteca. E o maior problema é que este código não pode carregar nenhum módulo, já que a biblioteca de módulos está dentro do lib.zip. Ou seja, nem strict, nem warnings, nem exporter, nem nada pode ser chamado. Mas como fazer isso se um módulo complexo com o Arqchive::Zip e o Compress::Zlib têm q ser ativados para podermos ler arquivos ZIP. A solução foi refazer esse 2 módulos, mas apenas com os recursos de extração (decompressão). O desafio final foi o XS do Compress::Zlib, o coração para se ler arquivos ZIP. Como vcs sabem um XS é um arquivo externo (dll) carregado pelo Dynaloader. Bom, a solução foi criar um Dynaloader simples que conseguice carregar uma DLL padrão. Mas depois consegui fazer algo melhor, deixar a dll dentro do executável do Perl, não sendo necessário um arquivo externo ou um Dynaloader para carrega-lo. OK, agora temos a possibilidade de ler arquivos ZIP, mas temos que ter o módulo que gerencia a extração dos arquivos para serem carregados em tempo de executácão. Essa parte então precisa ser em Perl, e carregada antes de td. No fim o código de inicialização fica td comprimido em zip internamente no executável, reduzindo ainda mais o pacote. E como extra para reduzir ainda mais: 1 - É utilizado UPX (http://upx.sf.net) sobre PerlLib (perl56.dll) e o executável (perl.exe), diminuindo 40% do seu tamanho. 2 - Os arquivos inseridos dentro da lib.zip têm a sua documentação removida do código com o Pod::Stripper. No fim, um script simples (Hello World) fica com 330 Kb, contra 1200Kb com o PAR. Em alguns dias irei publicar o TinyPerl para vários SO e versões do Perl, só preciso esperar o feedback d alguns testes q estão sendo feitos. E com o TinyPerl vcs poderão criar os executaveis sem um compilador. ;-P Atenciosamente, Graciliano M. P. From lechamps em terra.com.br Mon Jun 14 08:07:22 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <20040604190423.55666fc2@valhalla.localdomain> References: <20040604190423.55666fc2@valhalla.localdomain> Message-ID: <40CDA30A.6030907@terra.com.br> Alceu Rodrigues de Freitas Junior wrote: > Bem, agora ela resolveu patentear os comentários tipo "to do list" em > arquivos fonte. Talvez ela resolva patentear o hábito de beber café > depois de duas horas programando também. Logo será proibido programar de > cuecas em casa. Ui! Que gracinha!! Foi assim que você desfilou ontem? :-) >>Meu caro, você sabe que sou apenas um reles 'scribe', preciso de muito >>XP ainda para chegar à isto. Se bobiar vou eu acabar me confudindo >>todo com o meu código e aí sair correndo atrás dos monges :-) . > > XP? Experience Points? Você também joga RPG, Solli? > Pode ser eXtreme Programming, também... :-P -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lechamps em terra.com.br Mon Jun 14 08:28:45 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] LibZip - crie =?ISO-8859-1?Q?execut=E1veis_b?= =?ISO-8859-1?Q?em_leves_dos_seus_scripts?= In-Reply-To: <001801c450c7$ac220080$0100a8c0@main> References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> Message-ID: <40CDA80D.2020608@terra.com.br> Graciliano M. P. wrote: > No fim, um script simples (Hello World) fica com 330 Kb, contra 1200Kb com o > PAR. > > Em alguns dias irei publicar o TinyPerl para vários SO e versões do Perl, só > preciso esperar o feedback d alguns testes q estão sendo feitos. E com o > TinyPerl vcs poderão criar os executaveis sem um compilador. ;-P > Estou sem palavras... impressionante mesmo. Parabéns pelo brilhante trabalho, Graciliano! Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From alfspsp em hotmail.com Sun Jun 13 09:06:38 2004 From: alfspsp em hotmail.com (=?iso-8859-1?Q?Alex_E._J._Falc=E3o?=) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Perl Best Pratices References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> Message-ID: Senhores, sou muito novo no mundo Perl e gostaria de saber se existe algum "Best Pratices" para Perl. Obrigado Alex Falcão From nferraz em phperl.com Mon Jun 14 10:44:18 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Perl Best Pratices In-Reply-To: References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> Message-ID: <40CDC7D2.7030102@phperl.com> Alex E. J. Falcão wrote: > sou muito novo no mundo Perl e gostaria de saber se existe algum "Best > Pratices" para Perl. Best Practice #1: use strict; Best Practice #2: use warnings; Se você estiver procurando um livro, eu recomendo o Effective Perl Programming. []s Nelson From daniel em ruoso.com Mon Jun 14 11:36:35 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Perl Best Pratices In-Reply-To: <40CDC7D2.7030102@phperl.com> References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> <40CDC7D2.7030102@phperl.com> Message-ID: <1087230994.1435.1.camel@cedro> Em Seg, 2004-06-14 às 12:44, Nelson Ferraz escreveu: > Best Practice #1: use strict; > Best Practice #2: use warnings; Best Practice #3: Evite usar variáveis globais Best Practice #4: Utilize a orientação a Objetos Best Practice #5: Sempre procure na CPAN se algo que você vai fazer já existe... e muitas outras... From lechamps em terra.com.br Mon Jun 14 11:57:39 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Perl Best Pratices In-Reply-To: <1087230994.1435.1.camel@cedro> References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> <40CDC7D2.7030102@phperl.com> <1087230994.1435.1.camel@cedro> Message-ID: <40CDD903.1010006@terra.com.br> Daniel Ruoso wrote: > Em Seg, 2004-06-14 às 12:44, Nelson Ferraz escreveu: > >>Best Practice #1: use strict; >>Best Practice #2: use warnings; > > Best Practice #3: Evite usar variáveis globais > Best Practice #4: Utilize a orientação a Objetos > Best Practice #5: Sempre procure na CPAN se algo que você vai fazer já > existe. Best Practice #6: Documente seu código com POD Best Practice #7: Não use expressões regulares sem necessidade (por exemplo, se testes simples resolvem) Best Practice #8: use English; Best Practice #9: use Regexp::Common; Best Practice #10: NÃO USE $`, $& e $'. Best Practice #11: NÃO TENTE fazer parsing de HTML (ou outro *ML) com expressões regulares, use ferramentas apropriadas (HTML::Parser, XML::Simple e correlatos). Best Practice #12: Use o www.perlmonks.org Best Practice #13: Use o search.cpan.org Best Practice #14: RTFM. Além disso: Lembre-se sempre das três qualidades necessárias para se tornar um bom programador Perl: lazyness, impatience, rubishness. (Algém traduza isso por favor!) Lembre-se sempre da máxima TIMTOWTDI. Pense antes, escreva depois. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From alfspsp em hotmail.com Sun Jun 13 12:18:41 2004 From: alfspsp em hotmail.com (=?iso-8859-1?Q?Alex_E._J._Falc=E3o?=) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Perl Best Pratices References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> <40CDC7D2.7030102@phperl.com> <1087230994.1435.1.camel@cedro> <40CDD903.1010006@terra.com.br> Message-ID: Senhores, gostaria de agradecer a todos pelas dicas.... vou procurar aprimorar meus conhecimentos.... Abraço Alex Falcão From nferraz em phperl.com Tue Jun 15 14:03:19 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] AppML - Application Markup Language Message-ID: <40CF47F7.9000108@phperl.com> Pessoal, Conforme eu havia comentado durante o Fórum Internacional de Software Livre em Porto Alegre, estou lançando uma ferramenta de geração automática de código em Perl. Com o AppML você pode descrever uma aplicação complexa em XML (ver o exemplo em anexo), e obter o código fonte completo da aplicação, usando Class::DBI e Template Toolkit. Eu estou trabalhando neste projeto há mais de um ano, e acredito que ele será útil para promover o Perl como linguagem de desenvolvimento de aplicações corporativas. Testem o AppML em seus projetos de bases de dados web, e mandem suas sugestões! http://www.gnubis.com.br/bin/view/English/AppML []s Nelson -------------- Próxima Parte ---------- Um anexo não texto foi limpo... Nome : crm.xml Tipo : text/xml Tam : 3353 bytes Descr.: não disponível Url : http://mail.pm.org/pipermail/cascavel-pm/attachments/20040615/c5e518ce/crm.xml From dexter em ticbrasil.com.br Tue Jun 15 15:11:06 2004 From: dexter em ticbrasil.com.br (dexter@ticbrasil.com.br) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Livros de perl References: <40CF47F7.9000108@phperl.com> Message-ID: <012101c45314$e5055600$9c1c1d0a@DexterNote> Pessoal prescissava de um favor, gostaria de saber se algum de vcs possui aquele livro Learning Perl em .pdf ou algum outro em pdf .. eu lembro que um tempo atraz vcs tinham me passado o FTP de um servidor de livros mas não tenho mais o IP.. esse servidor ainda existe .. se sim .. vcs poderiam me passar o IP de novo.. Obrigado: Ass: Ricardo Omar From daniel em ruoso.com Tue Jun 15 18:41:10 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] O =?iso-8859-1?q?c=F3digo?= mais bizonho que eu =?iso-8859-1?q?j=E1?= fiz na minha vida (v. 2.0) Message-ID: <1087342869.2107.6.camel@cedro> Lá no FISL eu mostrei pra algumas pessoas o código mais bizonho que eu já tinha feito em perl, bizonho não de feio, mas de fazer coisas inusitadas... aquelas do tipo: "Só dá pra fazer se for perl"... Bem, aquele código era o método "run" do Oak::SOAP::Application, que povoava automaticamente pacotes com métodos usando closures para executar outros métodos acessados por typeglobs dinamicamente. O fato é, como também já disse lá no FISL, comecei a fazer o Oak2... e o Oak2 traz um conceito novo, o de "customize", que permite que você altere o comportamento de uma classe "on-the-fly" sem precisar alterar o seu arquivo... parece simples, mas dá uma olhada no código... Esse código já está no CVS do Oak2 nos módulos Oak2::Object e Oak2::Customizer, maiores informações em http://perl-oak.sf.net Abraços... -------------- Próxima Parte ---------- Um anexo não texto foi limpo... Nome : teste.pl Tipo : application/x-perl Tam : 1957 bytes Descr.: não disponível Url : http://mail.pm.org/pipermail/cascavel-pm/attachments/20040615/891dcbf7/teste.bin From glasswalk3r em yahoo.com.br Tue Jun 15 23:54:48 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <40CDA30A.6030907@terra.com.br> References: <20040604190423.55666fc2@valhalla.localdomain> <40CDA30A.6030907@terra.com.br> Message-ID: <20040616015448.483dd58c@valhalla.localdomain> On Mon, 14 Jun 2004 10:07:22 -0300 Luis Campos de Carvalho wrote: > Alceu Rodrigues de Freitas Junior wrote: > > depois de duas horas programando também. Logo será proibido > > programar de cuecas em casa. > > Ui! Que gracinha!! Foi assim que você desfilou ontem? > :-) Foi santa! Vc não deve ter visto por conta dos seus tantos paetês! Mas eu te vi: que luxo você estava! Essa besteira toda me faz pensar em alguns pontos: 1 - Putz, será que isso vai ficar nos arquivos da lista? Sobreviveremos ao moderador desta vez?? Bem, agora já foi... 2 - Será que o Champs foi vítima do famoso "reply-nervoso-sem-olhar-destinatário"? 3 - Precisamos pensar numa forma de levar o Champs ao AAA e deixá-lo por lá para um tratamento intensivo... talvez buscando-o para o próximo FISL. No andar da carruagem, ele vai acabar perdendo a carteira de habilitação de PC dele... []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From glasswalk3r em yahoo.com.br Tue Jun 15 23:56:27 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Perl Best Pratices In-Reply-To: References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> <40CDC7D2.7030102@phperl.com> <1087230994.1435.1.camel@cedro> <40CDD903.1010006@terra.com.br> Message-ID: <20040616015627.66387042@valhalla.localdomain> On Sun, 13 Jun 2004 14:18:41 -0300 "Alex E. J. Falcão" wrote: > Senhores, > > gostaria de agradecer a todos pelas dicas.... vou procurar > aprimorar > meus conhecimentos.... > Peraí, peraí... faltou um... Enésimo- "é tabu citar qualquer coisa ou fazer referência à programar de cuecas numa lista de discussão sobre Perl!" []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From alfspsp em hotmail.com Wed Jun 16 06:50:15 2004 From: alfspsp em hotmail.com (=?iso-8859-1?Q?Alex_E._J._Falc=E3o?=) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Livros de perl References: <40CF47F7.9000108@phperl.com> <012101c45314$e5055600$9c1c1d0a@DexterNote> Message-ID: Enjoy yourself http://bookshelf.sleepnet.net/files/ http://secu.zzu.edu.cn/book/Perl/Perl%20Bookshelf%20%5B3rd%20Ed%5D/index.htm []'s ----- Original Message ----- From: To: "Cascavel Perl Mongers" Sent: Tuesday, June 15, 2004 5:11 PM Subject: Re: [Cascavel-pm] Livros de perl > Pessoal prescissava de um favor, > > > gostaria de saber se algum de vcs possui aquele livro Learning Perl em pdf > ou algum outro em pdf .. eu lembro que um tempo atraz vcs tinham me > passado o FTP de um servidor de livros mas não tenho mais o IP.. esse > servidor ainda existe .. se sim .. vcs poderiam me passar o IP de novo.. > > > Obrigado: > > Ass: Ricardo Omar > > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > From nferraz em phperl.com Wed Jun 16 08:54:11 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] Perl Best Pratices In-Reply-To: <20040616015627.66387042@valhalla.localdomain> References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> <40CDC7D2.7030102@phperl.com> <1087230994.1435.1.camel@cedro> <40CDD903.1010006@terra.com.br> <20040616015627.66387042@valhalla.localdomain> Message-ID: <40D05103.8020802@phperl.com> Alceu Rodrigues de Freitas Junior wrote: > Peraí, peraí... faltou um... > > Enésimo- "é tabu citar qualquer coisa ou fazer referência à programar de > cuecas numa lista de discussão sobre Perl!" Não, isso não é tabu... mas foi patenteado pela Microsoft. []s Nelson From fglock em pucrs.br Wed Jun 16 11:51:36 2004 From: fglock em pucrs.br (Flavio S. Glock) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] O código mais bizonho que eu já fiz na minha vida (v. 2.0) References: <1087342869.2107.6.camel@cedro> Message-ID: <40D07A98.BC@pucrs.br> Daniel Ruoso wrote: > > O fato é, como também já disse lá no FISL, comecei a fazer o Oak2... e o > Oak2 traz um conceito novo, o de "customize", que permite que você > altere o comportamento de uma classe "on-the-fly" sem precisar alterar o > seu arquivo... parece simples, mas dá uma olhada no código... > > Esse código já está no CVS do Oak2 nos módulos Oak2::Object e > Oak2::Customizer, maiores informações em http://perl-oak.sf.net Daniel: Isso não poderia ser feito utilizando o Class::ClassDecorator ? O Class::ClassDecorator parece que poderia ser uma maneira de fazer "plugins" para classes, embora eu acho que não resolve completamente o problema. Eu tenho um problema bem parecido com esse, na hierarquia de objetos do Set::Infinite -> ... (vários módulos) ... -> DateTime::Event::ICal, e estou procurando uma forma "elegante" de alterar objetos que estão no meio desta hierarquia. Colocando de outra forma, se eu tenho uma hierarquia de classes: Classe::A Classe::B isa Classe::A Classe::C isa Classe::B Eu queria uma maneira de poder alterar a Classe::B, de forma que a Classe::C pudesse herdar estas alterações ... - Flavio S. Glock From alfspsp em hotmail.com Wed Jun 16 12:43:06 2004 From: alfspsp em hotmail.com (=?iso-8859-1?Q?Alex_E._J._Falc=E3o?=) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] New Kernel Crash-Exploit discovered Message-ID: Senhores usuários de LINUX Vale a pena confererir. http://www.linuxreviews.org/news/2004-06-11_kernel_crash/index.html#toc3 Abraço Alex Falcão From daniel em ruoso.com Wed Jun 16 13:07:53 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] O =?ISO-8859-1?Q?c=F3digo?= mais bizonho que eu =?ISO-8859-1?Q?j=E1?= fiz na minha vida (v. 2.0) In-Reply-To: <40D07A98.BC@pucrs.br> References: <1087342869.2107.6.camel@cedro> <40D07A98.BC@pucrs.br> Message-ID: <1087409272.1760.68.camel@cedro> Em Qua, 2004-06-16 às 13:51, Flavio S. Glock escreveu: > Daniel: > > Isso não poderia ser feito utilizando o Class::ClassDecorator ? > O Class::ClassDecorator parece que poderia ser uma maneira de fazer > "plugins" para classes, embora eu acho que não resolve completamente > o problema. Hmmm... não conheço o Class::ClassDecorator, mas vou dar uma olhada. > Colocando de outra forma, se eu tenho uma hierarquia de classes: > Classe::A > Classe::B isa Classe::A > Classe::C isa Classe::B > Eu queria uma maneira de poder alterar a Classe::B, de forma que a > Classe::C pudesse herdar estas alterações ... Seus problemas se acabaram-se... :) é exatamente isso que o código que eu mandei faz... Agora que eu estou com um pouco mais de tempo, vou explicar o meu código... Vou começar de baixo para cima, pra ficar mais fácil... *** ATENÇÃO *** *** Perigoso, pode causar danos mentais severos, prossiga por sua própria conta e risco *** :) package main; # primeiro eu crio um objeto da classe A1 my $a = bless {}, "A1"; # Então eu vou chamar o método doit do objeto $a # neste caso vai acontecer o esperado (o método A1::doit ser executado) print "---- primeira chamada ---\n"; $a->doit; # Agora eu vou personalizar a classe A1 com a classe # A2, método doit. print "---- segunda chamada ---\n"; customize A1 with A2 qw(doit); # reescrevendo # A1::customize("A1",Customizer::with("A2","doit")) # ou ainda... # my @methods = qw(doit) # my $source = "A2"; # my @customize_data = Customizer::with($source,@methods) # A1::customize(@customize_data) # E agora, a surpresa... ele vai chamar o A2::doit, mesmo # chamando através do objeto $a que é da classe A1. $a->doit; # o método Customizer::with package Customizer; sub with { # recebe o nome da classe customizadora, # no caso A2 my $customizer = shift; # e o nome dos métodos a serem personalizados my @methods = @_; my @ret; push @ret, $customizer; if (@methods) { # se o usuário já disse quais são os métodos, # apenas retorna @ret = (@ret,@methods); } else { # senão, vou descobrir todos os métodos de A2, # exceto o próprio with no strict 'refs'; # varrendo a symboltable de A2 foreach my $symname (%{$customizer."::"}) { # pulando o método with next if $symname eq "with"; # atribui ao typeglob local sym o # símbolo em questao local *sym = *{$customizer."::".$symname}; # e vê se o método desse símbolo está definido if (defined &sym) { # se tiver, adiciona seu nome ao retorno push @ret, $symname; } } } # retorna o nome do customizer e o nome dos métodos return @ret; } # e o customize espera exatamente o retorno do with sub customize { # A classe a ser personalizada (A1), my $target = shift; # que pode ser ou um objeto ou o nome da classe $target = ref $target || $target; # O segundo parâmetro é a classe de origem (A2) my $source = shift; # que também pode ser objeto ou nome de classe $source = ref $source || $source; # o nome dos metodos a serem customizados # sao passados como lista (doit) my @methods = @_; # Para cada método foreach my $m (@methods) { # dizer para o perl que eu estou fazendo algo # meio fora do normal no strict 'refs'; # supondo o método A1::doit, se A1::ORIG::doit # jah estiver definido, vou personalizar o # A1::ORIG::doit usando o A1::doit, deixando o # A1::ORIG::doit disponível de novo, que permite # que depois eu personalize o A1 com o A3, fazendo com # que o A1::ORIG::doit seja movido para # A1::ORIG::ORIG::doit e o A1::doit seja movido para # A1::ORIG::doit defined *{$target."::ORIG::".$m} && customize($target."::ORIG",$target,$m); # Mexendo no symbol table, eu copio o metodo a # ser personalizado para dentro de ORIG, por exemplo # A1::doit é copiado para A1::ORIG::doit *{$target."::ORIG::".$m} = *{$target."::".$m}; # Agora eu sobrescrevo o A1::doit com o A2::doit *{$target."::".$m} = *{$source."::".$m}; # Preciso garantir que as variáveis # A1::doit::ORIG e a A2::doit::ORIG # sejam as mesmas, isso é necessário porque # aqui eu não sei o nome dos personalizadores # anteriores, mas ao executar $self->ORIG::doit # eu não tenho como saber se é A1::ORIG::doit, # A1::ORIG::ORIG::doit, sei apenas que é A2::doit # ou A3::doit *{$target."::".$m."::ORIG"} = *{$source."::".$m."::ORIG"}; # para então definir que o A1::doit::ORIG # e o A2::doit::ORIG sejam A1::ORIG::doit # isso é fundamental para permitir duas # customizações no mesmo método. e para # eu poder chamar o método original através de # $self->ORIG::doit(); $ {$source."::".$m."::ORIG"} = $target."::ORIG::".$m; } } # Esse é o método de teste do A1... sub doit { print "Definido no A1.\n"; } # esse é o método de teste do A2, que chama o ORIGinal package A2; @A2::ISA="Customizer"; sub doit { my $self = shift; $self->ORIG::doit; print "Definido no A2.\n"; } # para tornar o $self->ORIG::doit possível, é só uma # questão de definir o pacote e usar AUTOLOAD package ORIG; sub AUTOLOAD { # $self my $obj = shift; # ORIG::doit my $name = $ORIG::AUTOLOAD; # possiveis parametros my @params = @_; # retiro o ORIG:: do ORIG::doit $name =~ s/^ORIG:://; # A2 my $pack = caller(); no strict 'refs'; # lembra do A2::doit::ORIG?, é aqui que eu uso ele. my $orig = $ {$pack."::".$name."::ORIG"}; # A1::ORIG::doit($obj,@params) &{$orig}($obj,@params); } e aí? From lechamps em terra.com.br Wed Jun 16 13:45:25 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: Boblex na Veia [Was: Re: [Cascavel-pm] Compilar o Perl] In-Reply-To: <20040616015448.483dd58c@valhalla.localdomain> References: <20040604190423.55666fc2@valhalla.localdomain> <40CDA30A.6030907@terra.com.br> <20040616015448.483dd58c@valhalla.localdomain> Message-ID: <40D09545.4020001@terra.com.br> Alceu Rodrigues de Freitas Junior wrote: > On Mon, 14 Jun 2004 10:07:22 -0300 Luis wrote: >>Alceu Rodrigues de Freitas Junior wrote: >> >>>depois de duas horas programando também. Logo será proibido >>>programar de cuecas em casa. >> >> Ui! Que gracinha!! Foi assim que você desfilou ontem? >> :-) > > > Foi santa! Vc não deve ter visto por conta dos seus tantos > paetês! Mas eu te vi: que luxo você estava! Nhá! Nem eram tantos paetês assim... você precisava ver a que eu usei em San Francisco... ;-) > Essa besteira toda me faz pensar em alguns pontos: > > 1 - Putz, será que isso vai ficar nos arquivos da lista? Sobreviveremos > ao moderador desta vez?? Bem, agora já foi... Ficar arquivado, vai sim. O moderador sou eu, pode acreditar que sobreviveremos... > 2 - Será que o Champs foi vítima do famoso > "reply-nervoso-sem-olhar-destinatário"? _NÃO_. Eu tinha certeza sobre para quem era que eu estava escrevendo. De outra forma não tomaria tais "liberdades". > 3 - Precisamos pensar numa forma de levar o Champs ao AAA e > deixá-lo por lá para um tratamento intensivo... talvez buscando-o para o > próximo FISL. No andar da carruagem, ele vai acabar perdendo a carteira > de habilitação de PC dele... > Não vou permitir ser chamado de alcoólatra sem exigir uma reparação. Quero duas caixas de wisky 12 anos, à título de indenização por danos morais. ;-) Tentando descobrir o que quer dizer "AAA", afinal... []'z! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lechamps em terra.com.br Wed Jun 16 13:47:38 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: Boblex na Veia [Was: Re: [Cascavel-pm] Perl Best Pratices] In-Reply-To: <20040616015627.66387042@valhalla.localdomain> References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> <40CDC7D2.7030102@phperl.com> <1087230994.1435.1.camel@cedro> <40CDD903.1010006@terra.com.br> <20040616015627.66387042@valhalla.localdomain> Message-ID: <40D095CA.5030106@terra.com.br> Alceu Rodrigues de Freitas Junior wrote: > On Sun, 13 Jun 2004 14:18:41 -0300 "Alex E. J. Falcão" > wrote: >>Senhores, >> >> gostaria de agradecer a todos pelas dicas.... vou procurar >> aprimorar >>meus conhecimentos.... > > Peraí, peraí... faltou um... > > Enésimo- "é tabu citar qualquer coisa ou fazer referência à programar de > cuecas numa lista de discussão sobre Perl!" > Puxa... com tantas referências a este "estilo" de programação, vou acabar experimentando... deve ser como XP, depois que a gente se acostuma, fica até bom... ;-) []'z! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lechamps em terra.com.br Wed Jun 16 13:49:23 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: Boblex na Veia [Was: Re: [Cascavel-pm] Perl Best Pratices] In-Reply-To: <40D05103.8020802@phperl.com> References: <200406121700.i5CH0GQZ012964@www.pm.org> <001801c450c7$ac220080$0100a8c0@main> <40CDC7D2.7030102@phperl.com> <1087230994.1435.1.camel@cedro> <40CDD903.1010006@terra.com.br> <20040616015627.66387042@valhalla.localdomain> <40D05103.8020802@phperl.com> Message-ID: <40D09633.40407@terra.com.br> Nelson Ferraz wrote: > Alceu Rodrigues de Freitas Junior wrote: > >> Peraí, peraí... faltou um... >> Enésimo- "é tabu citar qualquer coisa ou fazer referência à programar de >> cuecas numa lista de discussão sobre Perl!" > > Não, isso não é tabu... mas foi patenteado pela Microsoft. > Isso quer dizer que o Alceu deve pagar royalties para se sentar de cuecas na frente do computador? :-) -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lechamps em terra.com.br Wed Jun 16 13:58:48 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] O =?ISO-8859-1?Q?c=F3digo_mais_bizonho_q?= =?ISO-8859-1?Q?ue_eu__j=E1_fiz_na_minha_vida_=28v=2E_2?= =?ISO-8859-1?Q?=2E0=29?= In-Reply-To: <40D07A98.BC@pucrs.br> References: <1087342869.2107.6.camel@cedro> <40D07A98.BC@pucrs.br> Message-ID: <40D09868.6080804@terra.com.br> Flavio S. Glock wrote: > Eu tenho um problema bem parecido com esse, na hierarquia de objetos > do Set::Infinite -> ... (vários módulos) ... -> DateTime::Event::ICal, > e estou procurando uma forma "elegante" de alterar objetos que estão > no meio desta hierarquia. > > Colocando de outra forma, se eu tenho uma hierarquia de classes: > > Classe::A > Classe::B isa Classe::A > Classe::C isa Classe::B > > Eu queria uma maneira de poder alterar a Classe::B, de forma que a > Classe::C pudesse herdar estas alterações ... Depois de tomar uma dose tripla de "Boblex na Veia", eu posso estar vendo tudo meio torto... mas, penso que este deve ser o comportamento padrão de Classes que extendem Classes: elas "herdam" de suas Classes-Pai comportamentos e propriedades definidas por esta... Não bastaria, portanto, se aproveitar das possibilidades (já nativas de Perl) de /method overriding/? Ou, colocado de outra forma: Quando Classe::C precisa executar um método herdado de Classe::B, o "dispatcher" da Perl entra em ação, e automaticamente escolhe qual método utilizar, passando o controle (e parâmetros, e tudo o mais) para este método. Se em algum momento do programa você alterar a definição de um método (ou mesmo criar um novo) em Classe::B, Classe::C (de acordo com o terceiro dogma de OOP - herança) automaticamente tem acesso aos novos métodos (não existem "cópias locais" de métodos para um determinado escopo ou instância). O "perl dispatcher" vai fazer a Coisa Certa. Claro, eu posso estar completamente enganado, ou perdendo algum detalhe fundamental... :-) []'z! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lechamps em terra.com.br Wed Jun 16 14:08:15 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] O =?ISO-8859-1?Q?c=F3digo_mais_bizonho_q?= =?ISO-8859-1?Q?ue_eu__j=E1_fiz_na_minha_vida_=28v=2E_2?= =?ISO-8859-1?Q?=2E0=29?= In-Reply-To: <1087409272.1760.68.camel@cedro> References: <1087342869.2107.6.camel@cedro> <40D07A98.BC@pucrs.br> <1087409272.1760.68.camel@cedro> Message-ID: <40D09A9F.70909@terra.com.br> Daniel Ruoso wrote: [ milhões de linhas de código ] > > e aí? Aí, que parece interessante, mas eu não consigo ver muita utilidade em usar métodos definidos dinamicamente... isso é lento, custa "caro" em termos de processamento e não pode ser portado para linguagens de baixo nível. (como C, por exemplo). Qual a diferença entre isto e projetar melhor, enchendo o @ISA com as classes certas para resolver seu problema? Curioso, interessado, curtindo a reflexão mas achando tudo muito exótico... []'z! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From daniel em ruoso.com Wed Jun 16 15:15:56 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] O =?ISO-8859-1?Q?c=F3digo?= mais bizonho que eu =?ISO-8859-1?Q?j=E1?= fiz na minha vida (v. 2.0) In-Reply-To: <40D09A9F.70909@terra.com.br> References: <1087342869.2107.6.camel@cedro> <40D07A98.BC@pucrs.br> <1087409272.1760.68.camel@cedro> <40D09A9F.70909@terra.com.br> Message-ID: <1087416956.1762.148.camel@cedro> Em Qua, 2004-06-16 às 16:08, Luis Campos de Carvalho escreveu: > Aí, que parece interessante, mas eu não consigo ver muita utilidade > em usar métodos definidos dinamicamente... isso é lento, custa "caro" em > termos de processamento e não pode ser portado para linguagens de baixo > nível. (como C, por exemplo). > Qual a diferença entre isto e projetar melhor, enchendo o @ISA com as > classes certas para resolver seu problema? > Curioso, interessado, curtindo a reflexão mas achando tudo muito > exótico... Simples, Vamos imaginar que você está fazendo uma aplicação web com componentes (tipo o Oak, ou o Oak2), e você precisa personalizar o comportamento da superclasse dos componentes visuais para, por exemplo, só exibir se o usuário tiver uma permissão específica. A primeira resposta seria: vamos colocar essa implementação no Oak2::Web::Visual (superclasse dos componentes visuais da web), mas daí você percebe que isso só faz sentido na sua aplicação e não na árvore do Oak mesmo... A segunda resposta seria: vamos fazer um fork para essa nova funcionalidade, mas daí você percebe que isso daria muito trabalho... Enfim você se desespera e tem que sair duplicando código em vários lugares... ou... você define uma personalização para aquela classe naquela aplicação e tudo fica lindo e maravilhoso... From fglock em pucrs.br Wed Jun 16 17:30:33 2004 From: fglock em pucrs.br (Flavio S. Glock) Date: Mon Aug 2 21:27:05 2004 Subject: [Cascavel-pm] O código mais bizonho q ue eu já fiz na minha vida (v. 2 .0) References: <1087342869.2107.6.camel@cedro> <40D07A98.BC@pucrs.br> <40D09868.6080804@terra.com.br> Message-ID: <40D0CA09.556A@pucrs.br> Luis Campos de Carvalho wrote: > > Se em algum momento do programa você alterar a definição de um método > (ou mesmo criar um novo) em Classe::B, Classe::C (de acordo com o > terceiro dogma de OOP - herança) automaticamente tem acesso aos novos > métodos (não existem "cópias locais" de métodos para um determinado > escopo ou instância). O "perl dispatcher" vai fazer a Coisa Certa. Luis, você tem razão sobre isso. O que eu queria saber é o que você acharia de ter um módulo Classe::B::Plugin que altera o funcionamento da Classe::B - Esta não é uma solução meio "suja" do ponto de vista de OO ? Por exemplo, como você faria para acrescentar código a um método já existente na Classe::B ? Quando você redefine um método, a versão anterior é perdida (você tem que reescrever tudo de novo), e ainda por cima você ganha uns warnings. Me parece que tanto o programa do Daniel Ruoso, como o Class::ClassDecorator tentam resolver este problema de como modificar uma herança que já foi estabelecida. - Flavio S. Glock From lechamps em terra.com.br Thu Jun 17 10:10:25 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] O =?ISO-8859-1?Q?c=F3digo_mais_bizonho_q?= =?ISO-8859-1?Q?ue_eu__j=E1_fiz_na_minha_vida_=28v=2E_2?= =?ISO-8859-1?Q?=2E0=29?= In-Reply-To: <1087416956.1762.148.camel@cedro> References: <1087342869.2107.6.camel@cedro> <40D07A98.BC@pucrs.br> <1087409272.1760.68.camel@cedro> <40D09A9F.70909@terra.com.br> <1087416956.1762.148.camel@cedro> Message-ID: <40D1B461.4050103@terra.com.br> Daniel Ruoso wrote: > Simples, > > Vamos imaginar que você está fazendo uma aplicação web com componentes > (tipo o Oak, ou o Oak2), e você precisa personalizar o comportamento da > superclasse dos componentes visuais para, por exemplo, só exibir se o > usuário tiver uma permissão específica. > > A primeira resposta seria: vamos colocar essa implementação no > Oak2::Web::Visual (superclasse dos componentes visuais da web), mas daí > você percebe que isso só faz sentido na sua aplicação e não na árvore do > Oak mesmo... > > A segunda resposta seria: vamos fazer um fork para essa nova > funcionalidade, mas daí você percebe que isso daria muito trabalho... > > Enfim você se desespera e tem que sair duplicando código em vários > lugares... > > ou... > > você define uma personalização para aquela classe naquela aplicação e > tudo fica lindo e maravilhoso... > Desculpe, Daniel. Eu nem mesmo o conheço pessoalmente. Me avise quando podemos nos encontrar e eu vou corrigir isso lhe pagando um $DanielRuoso->favouriteDrink(). IMHO, isso parece muito um problema de projeto. O Oak poderia suportar "pluggable parents", de forma que se você não estiver contente com alguém da hierarquia, fazer override seja simplesmente uma questão de alterar um ponteiro em um arquivo de configuração (simples e rápido). Desta forma, você poderia simplesmente extender ou alterar o código necessário ao seu projeto. Obviamente, você deve ter considerado isso em algum momento durante a implementação do Oak. O que aconteceu para você desistir deste tipo de arquitetura? Acho que soluções que manipulam as tabelas de símbolos são bonitas, mas perigosas demais. Alguém pode tentar um "cruzamento" com outra manipulação da tabela de símbolos e o resultado pode ser inesperado... Querendo ajudar, temendo atrapalhar, putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lechamps em terra.com.br Thu Jun 17 12:30:07 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] O =?ISO-8859-1?Q?c=F3digo_mais_bizonho_q?= =?ISO-8859-1?Q?__ue_eu__j=E1_fiz_na_minha_vida_=28v=2E?= =?ISO-8859-1?Q?_2__=2E0=29?= In-Reply-To: <40D0CA09.556A@pucrs.br> References: <1087342869.2107.6.camel@cedro> <40D07A98.BC@pucrs.br> <40D09868.6080804@terra.com.br> <40D0CA09.556A@pucrs.br> Message-ID: <40D1D51F.2010102@terra.com.br> Flavio S. Glock wrote: > Luis, você tem razão sobre isso. > > O que eu queria saber é o que você acharia de ter um módulo > Classe::B::Plugin que altera o funcionamento da Classe::B - > Esta não é uma solução meio "suja" do ponto de vista de OO ? Bom, para os que não sabem, eu me considero radical xiita no tangente à filosofia OO. Não considero "suja" a solução de ter plugins. Ela não altera o funcionamento da Classe::B. A Classe::B continua obedencendo exatamente ao mesmo padrão de projeto estabelecido inicialmente. Ela é um "Dispatcher" (alguém bom de padrões me corrija o nome desta coisa, por favor), que simplesmente delega o comportamento a uma implementação específica. No exemplo, para Classe::B::Plugin. Vejamos: Classe::B não precisa saber o que Classe::B::Plugin faz, ou como responde às mensagens passadas -- Encapsulamento: OK; Classe::B não se incomoda com a troca de Classe::B::Plugin para Classe::C::Plugin, ou qualquer outro objeto que respeite a interface estabelecida -- Polimorfismo: OK; Classe::B não se importa em falar com um descendente de Classe::B::Plugin: Herança OK. Me parece uma solução filosoficamente muito mais interessante do que permitir a um objeto (ou classe) alterar dinamicamente um outro objeto. > Por exemplo, como você faria para acrescentar código a > um método já existente na Classe::B ? Quando você > redefine um método, a versão anterior é perdida (você tem > que reescrever tudo de novo), e ainda por cima você ganha uns warnings. Claro, isso depende muito do que o método original faz. Vamos usar seu exemplo de hierarquia anterior, e vamos tentar fazer de acordo com a filosofia OO: Para reescrever um método, você pode acrescentar uma chamada para __SUPER__->method(), e ter certeza de que o método original é chamado (antes ou depois de você realizar seu procedimento extra). Caso você precise alterar o comportamento, eu tenho certeza de que o correto é __mesmo__ reescrever o método. Isso quer dizer que o problema é com a concepção filosófica do OO ser incompatível com a concepção filosófica do Perl (lazyness, rubishness, impatience) > Me parece que tanto o programa do Daniel Ruoso, como o > Class::ClassDecorator > tentam resolver este problema de como modificar uma herança que já > foi estabelecida. > E eu não disse que não são boas tentativas. Eu disse que eu as considero tentativas perigosas, por violarem o encapsulamento (quem garante que o método que você deseja alterar está mesmo lá?). Estou achando isso interessante... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From daniel em ruoso.com Thu Jun 17 12:47:47 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] O =?ISO-8859-1?Q?c=F3digo?= mais bizonho que eu =?ISO-8859-1?Q?j=E1?= fiz na minha vida (v. 2.0) In-Reply-To: <40D1B461.4050103@terra.com.br> References: <1087342869.2107.6.camel@cedro> <40D07A98.BC@pucrs.br> <1087409272.1760.68.camel@cedro> <40D09A9F.70909@terra.com.br> <1087416956.1762.148.camel@cedro> <40D1B461.4050103@terra.com.br> Message-ID: <1087494467.1501.24.camel@cedro> Em Qui, 2004-06-17 às 12:10, Luis Campos de Carvalho escreveu: > IMHO, isso parece muito um problema de projeto. O Oak poderia > suportar "pluggable parents", de forma que se você não estiver contente > com alguém da hierarquia, fazer override seja simplesmente uma questão > de alterar um ponteiro em um arquivo de configuração (simples e rápido). > Desta forma, você poderia simplesmente extender ou alterar o código > necessário ao seu projeto. > Obviamente, você deve ter considerado isso em algum momento durante a > implementação do Oak. O que aconteceu para você desistir deste tipo de > arquitetura? Sim, a questão é que o Oak usa herança de forma muito intensa, fazer este tipo de controle deixaria o projeto bastante mais complexo, e considerando que o uso de "Customizer" é uma exceção, preferi deixar mais simples para o uso normal... Ah... tem outra coisa também... Se você usar herança para fazer isso, não tem como você interagir tanto com o método original, quanto com a superclasse... A1 ^ | é personalizado por A2 - - - - - - - - - - -> A4 ^ | A3 No método definido em A4 eu posso tanto chamar o código original de A2, quanto chamar a superclasse A1 (através do ORIG e do SUPER respectivamente), não vejo como isso seria possível através de herança, afinal eu não estou extendendo o comportamento de A2, eu estou modificando. E também, eu teria que notificar todas as subclasses de A2 de que elas devem colocar A4 como @ISA (mesmo que manualmente) e isso eu também queria evitar. > Acho que soluções que manipulam as tabelas de símbolos são bonitas, > mas perigosas demais. Alguém pode tentar um "cruzamento" com outra > manipulação da tabela de símbolos e o resultado pode ser inesperado... Sim, mas como eu disse, esse é um caso de exceção, se o recurso for usado ela sabe que está sendo mechido na tabela de símbolos e deverá evitar outras manipulações (devo colocar isso na documentação!) > Querendo ajudar, temendo atrapalhar, putamplexos! Não há meios para atrapalhar um projeto quando se comenta sobre ele... :) abraços daniel From daniel em ruoso.com Thu Jun 17 13:00:47 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] O =?ISO-8859-1?Q?c=F3digo?= mais bizonho q ue eu =?ISO-8859-1?Q?j=E1?= fiz na minha vida (v. 2 .0) In-Reply-To: <40D1D51F.2010102@terra.com.br> References: <1087342869.2107.6.camel@cedro> <40D07A98.BC@pucrs.br> <40D09868.6080804@terra.com.br> <40D0CA09.556A@pucrs.br> <40D1D51F.2010102@terra.com.br> Message-ID: <1087495247.1500.37.camel@cedro> Em Qui, 2004-06-17 às 14:30, Luis Campos de Carvalho escreveu: > Bom, para os que não sabem, eu me considero radical xiita no tangente > à filosofia OO. Hmmmm... sou por um lado, mas discordo de outros... > Não considero "suja" a solução de ter plugins. Ela não altera o > funcionamento da Classe::B. A Classe::B continua obedencendo exatamente > ao mesmo padrão de projeto estabelecido inicialmente. Ela é um > "Dispatcher" (alguém bom de padrões me corrija o nome desta coisa, por > favor), que simplesmente delega o comportamento a uma implementação > específica. No exemplo, para Classe::B::Plugin. > Vejamos: Classe::B não precisa saber o que Classe::B::Plugin faz, ou > como responde às mensagens passadas -- Encapsulamento: OK; Classe::B não > se incomoda com a troca de Classe::B::Plugin para Classe::C::Plugin, ou > qualquer outro objeto que respeite a interface estabelecida -- > Polimorfismo: OK; Classe::B não se importa em falar com um descendente > de Classe::B::Plugin: Herança OK. Essa é a solução adotada pelo Swing do Java, é elegante, sem dúvida, mas para o uso do dia-a-dia, toda a estrutura se torna complexa de um jeito que é muito trabalhoso fazer as coisas normais (acredite, estou trabalhando com swing a um ano e meio e EU ODEIO). A questão é, eu prefiro deixar mais simples para o uso regular e só complexificar nos casos específicos, permite que a infra-estrutura seja simples... > Me parece uma solução filosoficamente muito mais interessante do que > permitir a um objeto (ou classe) alterar dinamicamente um outro objeto. Sim e não, por causa da complexidade que causa. Fazer escolhas em momentos da implementação simplifica muito, e a alteração dinâmica permite que altere essas escolhas em casos específicos. > Caso você precise alterar o comportamento, eu tenho certeza de que o > correto é __mesmo__ reescrever o método. Isso quer dizer que o problema > é com a concepção filosófica do OO ser incompatível com a concepção > filosófica do Perl (lazyness, rubishness, impatience) É nessa parte que eu não sou xiita... pra mim OO e perl é o casamento perfeito, porque você tem as vantagens do OO com a simplicidade do perl, você escreve muito menos código, reaproveita muito mais e ainda não tem que ficar brigando com a linguagem por que ela não deixa isso ou aquilo... :) > > Me parece que tanto o programa do Daniel Ruoso, como o > > Class::ClassDecorator > > tentam resolver este problema de como modificar uma herança que já > > foi estabelecida. A diferença é que eu não mecho na tabela de herança, por que eu só quero mudar um método... é como se aquele método sempre tivesse sido daquele jeito. > E eu não disse que não são boas tentativas. Eu disse que eu as > considero tentativas perigosas, por violarem o encapsulamento (quem > garante que o método que você deseja alterar está mesmo lá?). O desenvolvedor, ele sabe o que está fazendo... Abraços From lechamps em terra.com.br Thu Jun 17 14:35:59 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Message Board Plugin Message-ID: <40D1F29F.2060204@terra.com.br> Senhores, anuncio mais uma contribuição pequena e sem muita utilidade para a comunidade Open-Source: O MesageBoardPlugin para o TWiki Wiki Wiki. Se vocês quiserem dar uma espiada, sigam a estrada de tijolos azuis: http://twiki.org/cgi-bin/view/Plugins/MessageBoardPlugin http://www.perlmonks.org/index.pl?node_id=367736 http://www.perlmonks.org/index.pl?node_id=367740 Sugestões, comentários, questionamentos, patches, gozações e piadinhas são bem-vindas. Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lemon em grad.icmc.usp.br Thu Jun 17 15:36:43 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] segmento de dados Message-ID: <1733172453.20040617173643@grad.icmc.usp.br> Olá, alguém sabe se dá para fazer algum parecido com um "segmento de dados" (.data) em um script perl? Eu preciso armazenar uma variável que precisa se manter gravada entre execuções do script e não quero criar um outro arquivo. Existe alguma forma mais decente do que, por exemplo, colocar comentado no final do .pl e lê-lo quando quiser recuperar? /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF From daniel em ruoso.com Thu Jun 17 15:42:35 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] segmento de dados In-Reply-To: <1733172453.20040617173643@grad.icmc.usp.br> References: <1733172453.20040617173643@grad.icmc.usp.br> Message-ID: <1087504954.1494.49.camel@cedro> Em Qui, 2004-06-17 às 17:36, Luís Fernando escreveu: > Eu preciso armazenar uma variável que precisa se manter gravada entre > execuções do script e não quero criar um outro arquivo. > Existe alguma forma mais decente do que, por exemplo, colocar > comentado no final do .pl e lê-lo quando quiser recuperar? Existe o __DATA__, mas tenho quase certeza que é readonly. No final do script você pode fazer uma marcação e acessá-la pelo filehandle Nome::Do::Pacote::DATA. Mas, por que seria tão ruim salvar em outro arquivo? From lemon em grad.icmc.usp.br Thu Jun 17 16:21:48 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] segmento de dados In-Reply-To: <1087504954.1494.49.camel@cedro> References: <1733172453.20040617173643@grad.icmc.usp.br> <1087504954.1494.49.camel@cedro> Message-ID: <1221383056.20040617182148@grad.icmc.usp.br> Não seria tão ruim, mas como o programa roda num "root dir" é melhor não espalhar arquivos. Vou tentar fazer dessa forma, obrigado. /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 17/6/2004, 17:42 <---| Em Qui, 2004-06-17 às 17:36, Luís Fernando escreveu: > Eu preciso armazenar uma variável que precisa se manter gravada entre > execuções do script e não quero criar um outro arquivo. > Existe alguma forma mais decente do que, por exemplo, colocar > comentado no final do .pl e lê-lo quando quiser recuperar? Existe o __DATA__, mas tenho quase certeza que é readonly. No final do script você pode fazer uma marcação e acessá-la pelo filehandle Nome::Do::Pacote::DATA. Mas, por que seria tão ruim salvar em outro arquivo? From gabriel em webclube.com Thu Jun 17 22:54:12 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Compilar o Perl References: <00a301c44c0a$94c8fb80$ad57a8c0@fortalnet.com.br> <001001c44c14$409b6840$64fafea9@laffit> <00a601c44ce0$a355a1e0$ad57a8c0@fortalnet.com.br><1688703692.20040607194636@grad.icmc.usp.br> <40C5CD32.2040204@terra.com.br><004e01c44dd8$c584b5a0$ad57a8c0@fortalnet.com.br> <40C7203B.7060708@terra.com.br> Message-ID: <007701c454e7$f30e5d80$ad57a8c0@fortalnet.com.br> Olá Champs e Espirituosos Monges, o sistema simplesmente solicita a leitura de um arquivo de nome qualquer, que fica localizado em qualquer lugar e confere se o conteúdo dele (alguns dados com MD5) conferem com o do sistema. Ou seja, pro sistema funcionar, o copião terá que copiar ambos os arquivos, sabendo esconder... ele terá q copiar o hd ;D *Não consegui pensar em nada melhor.. :~) Abraços, Gabriel Vieira ----- Original Message ----- From: "Luis Campos de Carvalho" To: "Cascavel Perl Mongers" Sent: Wednesday, June 09, 2004 11:35 AM Subject: Re: [Cascavel-pm] Compilar o Perl > Gabriel Vieira wrote: > > Olá Champs e caríssimos monges, > > > > utilizei o PAR e aparentemente tem funcionado perfeitamente, ainda há o > > problema da leitura, porém como o código é 'cifrado' solicito que o script > > pegue o conteúdo de um arquivo cifrado de acordo com o 'registro' de venda. > > Se retornado o valor do conteúdo do arquivo e bater com o conteúdo > > estabelecido, ele rodará normal, se não, não. ;) > > > > Mesmo sendo eu um fanático pela GPL & Friends, isso é muitíssimo > interesante... será que você não poderia exibir para a gente seu código > fonte de verificação de "licensa"? > > Parabéns pela solução implementada. ;-) > -- > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Luis Campos de Carvalho is BSc in Comp Science, > PerlMonk [SiteDocClan], Cascavel-pm Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From gabriel em webclube.com Thu Jun 17 22:58:40 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Compilar o Perl References: <001601c44b1d$a8539040$ad57a8c0@fortalnet.com.br> <20040604090905.56642861@valhalla.localdomain> Message-ID: <007d01c454e8$90fc0d80$ad57a8c0@fortalnet.com.br> Olá Alceu e ilustres Celibatos, Realmente é necessário o acesso SSH. Farei uma versão pra WEB também, mas no futuro. O PAR funcionou legal :) Abraços, Gabriel Vieira ----- Original Message ----- From: "Alceu Rodrigues de Freitas Junior" To: "Cascavel Perl Mongers" Sent: Friday, June 04, 2004 9:09 AM Subject: Re: [Cascavel-pm] Compilar o Perl > Olá Gabriel, > > On Sat, 5 Jun 2004 13:53:38 -0300 "Gabriel Vieira" > wrote: > > > > estou procurando uma solução para que eu possa fornecer um script perl > > apenas para execução aos usuários da minha shell. > > Seus usuários utilizarão apenas esse script shell ou precisam realmente > ter acesso ao shell? Você poderia alterar o shell script deles para o > nome do script Perl, caso o primeiro caso seja aplicável. Assim eles não > executariam mais nada, nem veriam o script. > > > Ou seja, eles não poderão ler o arquivo, apenas executá-lo, mas estou > > tendo problemas, pois para executá-lo é necessário a leitura do mesmo. > > Como tentativa de solução, procuro compilar o perl como 'executivo' > > para FreeBSD. > > Por isso recorro a vocês. Alguém me indica um compilador? :) > > PerlCC deu erro. > > Eu recomendaria você insistir no PerlCC. Qual o erro que você teve? Será > que não faltou alguma biblioteca C para resolver seu problema? > > Ainda como alternativa você não poderia usar seu programa como um > serviço de rede ou CGI? > > []'s > > > -- > Alceu Rodrigues de Freitas Junior > -- > glasswalk3r@yahoo.com.br > PGP public key at http://www.imortais.cjb.net/addgb.html > --------------------------------------------------------------- > He who knows others is wise. > He who knows himself is enlightened. > -- Lao Tsu > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From pmpoa em galvao.eti.br Thu Jun 17 23:39:39 2004 From: pmpoa em galvao.eti.br (=?ISO-8859-1?Q?Er_Galv=E3o_Abbott_-_PM_Porto_Alegre?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] MD5 Message-ID: <40D2720B.10809@galvao.eti.br> Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040618/0690262c/attachment.htm From daniel em ruoso.com Fri Jun 18 09:18:38 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] MD5 In-Reply-To: <40D2720B.10809@galvao.eti.br> References: <40D2720B.10809@galvao.eti.br> Message-ID: <1087568318.1505.5.camel@cedro> Em Sex, 2004-06-18 às 01:39, Er Galvão Abbott - PM Porto Alegre escreveu: > Eu li (agora não me recordo onde) que não existe uma forma de > decodificar uma string MD5 e que por isso seria uma forma segura de > criptografar informações. A informação procede? > Como pode ser possível existir uma string que não possa ser > descriptografada? Simples, O MD5 não pode ser decodificado simplesmente porque a informação original não está lá, não tem caminho de volta. O MD5 não é uma criptografia, é um checksum. Você pode usar o MD5 para saber se uma string A é igual a uma string B, mesmo sem você ter acesso à string A. Por exemplo, se você guarda a senha em MD5, você tem como ver se a senha que o usuário informou é igual a senha que você tem guardada calculando o MD5 da senha informada. Então você tem como verificar sem ter acesso à string original. Mas você nunca vai ter acesso à string original através do MD5 (a não ser por força bruta, e mesmo assim, nada garante que seja a mesma, pois duas strings diferentes podem resultar no mesmo MD5)... Se você quiser realmente ter certeza de que é a mesma string, você pode combinar o uso de MD5 com SHA1. Abraços daniel From lemon em grad.icmc.usp.br Fri Jun 18 09:50:25 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] MD5 In-Reply-To: <1087568318.1505.5.camel@cedro> References: <40D2720B.10809@galvao.eti.br> <1087568318.1505.5.camel@cedro> Message-ID: <1573668471.20040618115025@grad.icmc.usp.br> vou dar um exemplo para ficar mais simples vamos supor que você tem a palavra "teste" em vez você guardar "teste" no banco de dados, vc guarda a soma dos caracteres ASC ou seja... é impossível vc "voltar" para "teste", pq poderia ser "ttese", "ttees" ou qq combinação das letras poderia ateh ser outros caracteres, bastaria somar o mesmo número nesse caso é fácil, sabendo o número que tem que dar, achar uma string que some o número... mas, por exemplo, se vc multiplicar o primeiro número por 11, o segundo por 12, o terceiro por 13 e assim por diante e somá-los, já fica um pouco menos óbvio... então digamos que o MD5/SHA-1 é uma (GRAAAAAANDE) evolução disso ;) /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 18/6/2004, 11:18 <---| Em Sex, 2004-06-18 às 01:39, Er Galvão Abbott - PM Porto Alegre escreveu: > Eu li (agora não me recordo onde) que não existe uma forma de > decodificar uma string MD5 e que por isso seria uma forma segura de > criptografar informações. A informação procede? > Como pode ser possível existir uma string que não possa ser > descriptografada? Simples, O MD5 não pode ser decodificado simplesmente porque a informação original não está lá, não tem caminho de volta. O MD5 não é uma criptografia, é um checksum. Você pode usar o MD5 para saber se uma string A é igual a uma string B, mesmo sem você ter acesso à string A. Por exemplo, se você guarda a senha em MD5, você tem como ver se a senha que o usuário informou é igual a senha que você tem guardada calculando o MD5 da senha informada. Então você tem como verificar sem ter acesso à string original. Mas você nunca vai ter acesso à string original através do MD5 (a não ser por força bruta, e mesmo assim, nada garante que seja a mesma, pois duas strings diferentes podem resultar no mesmo MD5)... Se você quiser realmente ter certeza de que é a mesma string, você pode combinar o uso de MD5 com SHA1. Abraços daniel _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From nferraz em phperl.com Sat Jun 19 11:01:35 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Message Board Plugin In-Reply-To: <40D1F29F.2060204@terra.com.br> References: <40D1F29F.2060204@terra.com.br> Message-ID: <40D4635F.40607@phperl.com> Luis Campos de Carvalho wrote: > Senhores, anuncio mais uma contribuição pequena e sem muita utilidade > para a comunidade Open-Source: O MesageBoardPlugin para o TWiki Wiki Wiki. Luis, Esta e outras contribuições seriam muito bem-vindas na lista TWikiBR: http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/twikibr []s Nelson From lechamps em terra.com.br Sat Jun 19 17:11:15 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Message Board Plugin References: <40D1F29F.2060204@terra.com.br> <40D4635F.40607@phperl.com> Message-ID: <011501c4564a$576f5820$e702fea9@laffit> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - ----- Original Message ----- From: "Nelson Ferraz" Sent: Saturday, June 19, 2004 1:01 PM > Luis Campos de Carvalho wrote: > > Senhores, anuncio mais uma contribuição pequena e sem muita utilidade > > para a comunidade Open-Source: O MesageBoardPlugin para o TWiki Wiki Wiki. > > Luis, > > Esta e outras contribuições seriam muito bem-vindas na lista TWikiBR: > > http://listas.softwarelivre.org/cgi-bin/mailman/listinfo/twikibr Boa dica, Nélson. Como você é um cara legal, desta vez já postou lá os artigos, certo? Não pretendo me inscrever em mais uma lista de discussão antes do final de agosto. Já tenho bastante o que pensar... Obrigado! - -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) - WinPT 0.7.96rc1 iD8DBQFA1LoAz+iwwpKRaDIRAgzjAJ91sN74twXOZJtP+4Qj/ri6pvmt/ACggcJb Z62gA1PCxv55Ve2hfkG9uSM= =SOuk -----END PGP SIGNATURE----- From monsieur_champs em yahoo.com.br Sat Jun 19 17:17:52 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] =?iso-8859-1?q?V_Encontro_dos_S=E3o_Paulo_Perl_Mon?= =?iso-8859-1?q?gers=2E=2E=2E?= Message-ID: <012701c4564b$49f44e20$e702fea9@laffit> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Senhores, Como o último encontro foi uma piada de mau-gosto para cima do Solli, eu gostaria muito de agendar o próximo encontro para o mesmo lugar da outra vez, o O'Malley's Pub, onde vou me redimir pagando ao Solli uma rodada de qualquer coisa que ele desejar beber. Recomendo que os monges que se sentirem em falta com o irmão Solli sigam o mesmo Rito de Purificação, até se sentirem melhor ou até o irmão Solli precisar de glicose. Vamos agendar para o mesmo lugar, no sábado que vem, ultimo sábado do mês, no mesmo horário de sempre (às 14:00, para os não-iniciados)? Para quem nunca ouviu falar no O'Malley's: http://www.omalleysbar.net/ São Paulo's favourite Irish bar & gringo hangout West 46°, 39' 55.5" - South 23°, 33' 29.6" Open daily, noon 'til dawn! Alameda Itú 1529, Jardins, São Paulo, Brazil Telephone: +55 11 3086 0780 Com mais de um voto "sim", eu posto o convite ainda esta semana. Putamplexos para todo mundo. - -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) - WinPT 0.7.96rc1 iD8DBQFA1LuMz+iwwpKRaDIRAsDTAJ0QW5kZls2Whgt+09dyWJD2ygNtSgCgz1PC 0k9NHw3ooaPpFiWMb42sf2Y= =hCLF -----END PGP SIGNATURE----- From glasswalk3r em yahoo.com.br Thu Jun 17 07:49:54 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Compilar o Perl In-Reply-To: <007d01c454e8$90fc0d80$ad57a8c0@fortalnet.com.br> References: <001601c44b1d$a8539040$ad57a8c0@fortalnet.com.br> <20040604090905.56642861@valhalla.localdomain> <007d01c454e8$90fc0d80$ad57a8c0@fortalnet.com.br> Message-ID: <20040617094954.4217ab07@valhalla.localdomain> On Fri, 18 Jun 2004 00:58:40 -0300 "Gabriel Vieira" wrote: > Realmente é necessário o acesso SSH. Você pode pensar em fazer autenticação via chaves... isso elimina a necessidade de colocar login/senha no script Perl. Não se esqueça de atualizar o kernel se você estiver usando o Linux, devido ao furo recentemente descoberto. Você avaliou a possibilidade de trocar o shell válido do usuário no /etc/passwd para seu script Perl? Pode funcionar... > Farei uma versão pra WEB também, mas no futuro. Bem, aí suas complicações serão outras. :-) []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From joenio_marques em yahoo.com.br Mon Jun 21 06:38:58 2004 From: joenio_marques em yahoo.com.br (=?iso-8859-1?q?Joenio=20Marques?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Modulos servidor hospedagem In-Reply-To: <40D09633.40407@terra.com.br> Message-ID: <20040621113858.94105.qmail@web51408.mail.yahoo.com> olá lista. estou desenvolvendo uma homepage em perl utilizando alguns modulos nao padrao, como por exemplo HTML::Template. to pensando em hospedar no www.tehospedo.com.br, mas antes gostaria de saber o que eu faria caso nao haja esses modulos no servidor? obrigado! Joenio Marques ______________________________________________________________________ Yahoo! Messenger - Fale com seus amigos online. Instale agora! http://br.download.yahoo.com/messenger/ From lechamps em terra.com.br Mon Jun 21 07:47:43 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Modulos servidor hospedagem In-Reply-To: <20040621113858.94105.qmail@web51408.mail.yahoo.com> References: <20040621113858.94105.qmail@web51408.mail.yahoo.com> Message-ID: <40D6D8EF.7000403@terra.com.br> Joenio Marques wrote: > olá lista. Oies, Joênio. > estou desenvolvendo uma homepage em perl utilizando > alguns modulos nao padrao, como por exemplo > HTML::Template. Benvindo ao time dos usuários de sistemas de template... :-) > to pensando em hospedar no www.tehospedo.com.br, mas > antes gostaria de saber o que eu faria caso nao haja > esses modulos no servidor? Sem problemas. Você sempre pode solicitar a instalação. (isto é o mais recomendado) Se o pessoal não instalar, mas você tiver acesso shell no sistema, pode instalar você mesmo (use o CPAN, ajuste as variáveis de biblioteca indicadas na manpage). Caso não tenha acesso shell, ainda pode tentar instalar bibliotecas, mas tem de tomar muito cuidado, já que instalar programas por FTP é complicado e demorado. Se você não conseguir fazer nada disso, aconselho a chamar o ombudsman do provedor, explicar sua dificuldade e mudar de provedor... Boa sorte, e putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lemon em grad.icmc.usp.br Mon Jun 21 09:49:45 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Modulos servidor hospedagem In-Reply-To: <40D6D8EF.7000403@terra.com.br> References: <20040621113858.94105.qmail@web51408.mail.yahoo.com> <40D6D8EF.7000403@terra.com.br> Message-ID: <963715626.20040621114945@grad.icmc.usp.br> Não basta criar um diretório HTML com os sources (.pm) do HTML e outro Template (dentro dele) com os sources do HTML::Template? Nunca instalei muitos módulos, mas isso funcionou com todos que tentei. /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 21/6/2004, 09:47 <---| Joenio Marques wrote: > olá lista. Oies, Joênio. > estou desenvolvendo uma homepage em perl utilizando > alguns modulos nao padrao, como por exemplo > HTML::Template. Benvindo ao time dos usuários de sistemas de template... :-) > to pensando em hospedar no www.tehospedo.com.br, mas > antes gostaria de saber o que eu faria caso nao haja > esses modulos no servidor? Sem problemas. Você sempre pode solicitar a instalação. (isto é o mais recomendado) Se o pessoal não instalar, mas você tiver acesso shell no sistema, pode instalar você mesmo (use o CPAN, ajuste as variáveis de biblioteca indicadas na manpage). Caso não tenha acesso shell, ainda pode tentar instalar bibliotecas, mas tem de tomar muito cuidado, já que instalar programas por FTP é complicado e demorado. Se você não conseguir fazer nada disso, aconselho a chamar o ombudsman do provedor, explicar sua dificuldade e mudar de provedor... Boa sorte, e putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From lechamps em terra.com.br Mon Jun 21 12:08:08 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Modulos servidor hospedagem In-Reply-To: <963715626.20040621114945@grad.icmc.usp.br> References: <20040621113858.94105.qmail@web51408.mail.yahoo.com> <40D6D8EF.7000403@terra.com.br> <963715626.20040621114945@grad.icmc.usp.br> Message-ID: <40D715F8.3020803@terra.com.br> Luís Fernando wrote: > Não basta criar um diretório HTML com os sources (.pm) do HTML e outro Template > (dentro dele) com os sources do HTML::Template? > > Nunca instalei muitos módulos, mas isso funcionou com todos que > tentei. > Bom, na verdade funciona com quase tudo o que não precisa de XS para compilar. O resto das coisas falha desastrosamente exceto no caso de você tomar extremo cuidado ao instalar (pois parte do módulo é binário para linkar dinamicamente com o perl). Fora isso, corre sempre tudo bem. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From joenio_marques em yahoo.com.br Mon Jun 21 13:33:47 2004 From: joenio_marques em yahoo.com.br (=?iso-8859-1?q?Joenio=20Marques?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] HTML::Template In-Reply-To: <40D6D8EF.7000403@terra.com.br> Message-ID: <20040621183347.18557.qmail@web51408.mail.yahoo.com> gostaria de agradecer pela ajuda sobre a instalacao dos modulos. valew mesmo! tenho uma duvida sobre HTML::Template. quando uso so consigo visualizar as variaveis de dentro do loop. nao ha como mudar isso? obrigado. Joenio Marques ______________________________________________________________________ Yahoo! Messenger - Fale com seus amigos online. Instale agora! http://br.download.yahoo.com/messenger/ From lechamps em terra.com.br Mon Jun 21 13:50:06 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] HTML::Template In-Reply-To: <20040621183347.18557.qmail@web51408.mail.yahoo.com> References: <20040621183347.18557.qmail@web51408.mail.yahoo.com> Message-ID: <40D72DDE.6070706@terra.com.br> Joenio Marques wrote: > gostaria de agradecer pela ajuda sobre a instalacao > dos modulos. valew mesmo! Sem problemas. Você podia relatar a solução que você usou aqui, para ficar na lista, para a posteridade... :-) Alguém pode precisar de alguma coisa parecida em breve... ou nem tão em breve assim... ;-) > tenho uma duvida sobre HTML::Template. > quando uso so consigo visualizar as > variaveis de dentro do loop. > nao ha como mudar isso? > Não entendi sua pergunta, Joenio. Você está usando algo assim: E quer fazer o quê mesmo? Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From nferraz em phperl.com Mon Jun 21 16:07:48 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] V Encontro dos =?ISO-8859-1?Q?S=E3o_Paulo_?= =?ISO-8859-1?Q?Perl_Mongers=2E=2E=2E?= In-Reply-To: <012701c4564b$49f44e20$e702fea9@laffit> References: <012701c4564b$49f44e20$e702fea9@laffit> Message-ID: <40D74E24.6090107@phperl.com> Luis Campos de Carvalho wrote: > Como o último encontro foi uma piada de mau-gosto para cima do > Solli, eu gostaria muito de agendar o próximo encontro para o mesmo > lugar da outra vez, o O'Malley's Pub, onde vou me redimir pagando ao > Solli uma rodada de qualquer coisa que ele desejar beber. Recomendo > que os monges que se sentirem em falta com o irmão Solli sigam o > mesmo Rito de Purificação, até se sentirem melhor ou até o irmão > Solli precisar de glicose. > > Vamos agendar para o mesmo lugar, no sábado que vem, ultimo sábado > do mês, no mesmo horário de sempre (às 14:00, para os > não-iniciados)? Combinado! []s Nelson From dexter em ticbrasil.com.br Mon Jun 21 10:04:50 2004 From: dexter em ticbrasil.com.br (dexter@ticbrasil.com.br) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] script de acesso remoto References: <20040621113858.94105.qmail@web51408.mail.yahoo.com> <40D6D8EF.7000403@terra.com.br> Message-ID: <004401c457a1$19f256c0$0202a8c0@DexterNote> senhores, tenho um script que faz um acesso remoto a um servidor, executa um comando e depois sai do servidor, gostaria de fazer a mesma coisa porem ao invez de utilizar telnet gostaria de utilizar ssh, quando eu substitui telnet por ssh no script da problema, alguem sabe algum geito de fazer isso com ssh .. mesmo que tenha que fazer de outro geito. script abaixo #!/bin/sh main() { sleep 1 echo usuario sleep 1 echo senha sleep 1 comando sleep 1 echo exit } main|telnet 1.1.1.1 Obrigado Ass: Ricardo Omar From sikora em inova.com.br Mon Jun 21 14:18:40 2004 From: sikora em inova.com.br (Rodolfo Sikora) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] HTML::Template References: <40D72DDE.6070706@terra.com.br> Message-ID: <20040621191840.28022.qmail@qmail-local.inova.com.br> Bom, o HTML::Template amarra bastante a utilização de templates (o contrário do Text::Template, que deixa fazer loucuras). Existe um parâmetro que pode ser passado na construção do obj HTML::Template que permite a utilização das demais variáveis passadas dentro de um loop. se não me falha a memória, o parâmetro é: global_vars => 1 faz um perdoc, tem uma porrada de opções interessantes lá. Na CPAN tem uma alternativa/path para o HTML::Template que deixa você fazer loucuras, eu não lembro o nome, mas sei que tem. ================= >De:Luis Campos de Carvalho >Para:Cascavel Perl Mongers >Assunto:Re: [Cascavel-pm] HTML::Template > >Joenio Marques wrote: >> gostaria de agradecer pela ajuda sobre a >instalacao >> dos modulos. valew mesmo! > > Sem problemas. > Você podia relatar a solução que você usou >aqui, para ficar na lista, >para a posteridade... :-) Alguém pode precisar >de alguma coisa parecida >em breve... ou nem tão em breve assim... ;-) > >> tenho uma duvida sobre HTML::Template. >> quando uso so consigo >visualizar as >> variaveis de dentro do loop. >> nao ha como mudar isso? >> > > Não entendi sua pergunta, Joenio. > > Você está usando algo assim: > > > > > > > E quer fazer o quê mesmo? > > Putamplexos! >-- >=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >= > Luis Campos de Carvalho is BSc in Comp >Science, > PerlMonk [SiteDocClan], Cascavel-pm >Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ >=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >= > >_______________________________________________ >Cascavel-pm mailing list >Cascavel-pm@mail.pm.org >http://cascavel.pm.org/mailman/listinfo/cascavel >-pm Rodolfo Sikora - Desenvolvimento e Operação Departamento de Operações e Tecnologia Inova Tecnologias - http://www.inova.com.br **************************************************** *Velop* - administração, controle e monitoramento da sua comunicação na Internet. http://www.inova.com.br From sikora em inova.com.br Mon Jun 21 14:18:40 2004 From: sikora em inova.com.br (Rodolfo Sikora) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] HTML::Template References: <40D72DDE.6070706@terra.com.br> Message-ID: <20040621191840.28022.qmail@qmail-local.inova.com.br> Bom, o HTML::Template amarra bastante a utilização de templates (o contrário do Text::Template, que deixa fazer loucuras). Existe um parâmetro que pode ser passado na construção do obj HTML::Template que permite a utilização das demais variáveis passadas dentro de um loop. se não me falha a memória, o parâmetro é: global_vars => 1 faz um perdoc, tem uma porrada de opções interessantes lá. Na CPAN tem uma alternativa/path para o HTML::Template que deixa você fazer loucuras, eu não lembro o nome, mas sei que tem. ================= >De:Luis Campos de Carvalho >Para:Cascavel Perl Mongers >Assunto:Re: [Cascavel-pm] HTML::Template > >Joenio Marques wrote: >> gostaria de agradecer pela ajuda sobre a >instalacao >> dos modulos. valew mesmo! > > Sem problemas. > Você podia relatar a solução que você usou >aqui, para ficar na lista, >para a posteridade... :-) Alguém pode precisar >de alguma coisa parecida >em breve... ou nem tão em breve assim... ;-) > >> tenho uma duvida sobre HTML::Template. >> quando uso so consigo >visualizar as >> variaveis de dentro do loop. >> nao ha como mudar isso? >> > > Não entendi sua pergunta, Joenio. > > Você está usando algo assim: > > > > > > > E quer fazer o quê mesmo? > > Putamplexos! >-- >=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >= > Luis Campos de Carvalho is BSc in Comp >Science, > PerlMonk [SiteDocClan], Cascavel-pm >Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ >=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >= > >_______________________________________________ >Cascavel-pm mailing list >Cascavel-pm@mail.pm.org >http://cascavel.pm.org/mailman/listinfo/cascavel >-pm Rodolfo Sikora - Desenvolvimento e Operação Departamento de Operações e Tecnologia Inova Tecnologias - http://www.inova.com.br **************************************************** *Velop* - administração, controle e monitoramento da sua comunicação na Internet. http://www.inova.com.br From falmp em terra.com.br Mon Jun 21 22:31:06 2004 From: falmp em terra.com.br (Francisco Lopes) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] script de acesso remoto In-Reply-To: <004401c457a1$19f256c0$0202a8c0@DexterNote> References: <20040621113858.94105.qmail@web51408.mail.yahoo.com> <40D6D8EF.7000403@terra.com.br> <004401c457a1$19f256c0$0202a8c0@DexterNote> Message-ID: <1045029416.20040622003106@terra.com.br> Ricardo, Tente algum módulo específico para SSH, como por exemplo o Net::SSH. http://search.cpan.org/search?query=ssh&mode=all Abraço. Francisco Monday, June 21, 2004, 12:04:50 PM, you wrote: > senhores, tenho um script que faz um acesso remoto a um servidor, executa um > comando e depois sai do servidor, gostaria de fazer a mesma coisa porem ao > invez de utilizar telnet gostaria de utilizar ssh, quando eu substitui > telnet por ssh no script da problema, alguem sabe algum geito de fazer isso > com ssh .. mesmo que tenha que fazer de outro geito. > script abaixo > #!/bin/sh > main() > { > sleep 1 > echo usuario > sleep 1 > echo senha > sleep 1 > comando > sleep 1 > echo exit > } > main|telnet 1.1.1.1 > Obrigado > Ass: Ricardo Omar > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From filipo em w3c.com.br Tue Jun 22 09:47:45 2004 From: filipo em w3c.com.br (Ricardo Filipo) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Trabalho URGENTE Message-ID: <20040622144745.25311.qmail@qmail-local.inova.com.br> Em anexo a chamada do Kikuchi. Um abraço! Ricardo Filipo ABRASOL ____________________________________________________________________ -------------- Próxima Parte ---------- Uma mensagem embutida foi limpa... De: Valerio Kikuchi Assunto: [PSL-BRasil] URGENTE Data: Tue, 22 Jun 2004 10:50:35 -0300 Tam: 2875 Url: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040622/7383811c/attachment.eml From lemon em grad.icmc.usp.br Tue Jun 22 16:42:08 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] algoritmo Message-ID: <91942725.20040622184208@grad.icmc.usp.br> Sei que esse não é um problema de específico perl (e sim mais de algoritmo), mas agradeço se alguém puder me ajudar :) Eu tenho um buffer não-sequencial* de 100 bytes, e vou gravando "seqüências ordenadas de amostragem" nele. Supondo: eu recebo 1 amostra de 1 byte a cada segundo, e salvo-a no final desse buffer. Para facilitar o entendimento, vou supor que essa amostra é uma seqüência que começa no 1 quando eu rodo o programa e vai incrementando de 1 a cada segundo. O problema é que uma hora o buffer vai encher. Quando isso acontecer, para ter o mínimo de perda possível, quero que amostras sejam apagadas "da melhor forma possível". Se, quando chegasse em 100 bytes, para adicionar uma nova eu apagasse a primeira (e assim por diante), eu perderia todos os dados antigos. Em vez disso, eu prefiro ter amostras a cada 2 segundos. Clareando: Se eu tenho o buffer de 100 bytes e recebo 200 informações, eu não armazenaria apenas as 100 últimas, e sim "1 sim outra não" (ficaria, no buffer, 1 3 5 7 9, etc.). Mas como as informações "vão chegando" (tempo real), não dá para saber quantas vão ter. Melhor solução que consegui pensar até agora: - quando rodar o programa, inicie uma lista vazia; - a cada amostra recebida, verifique qual o intervalo entre os extremos do buffer e os valores da lista e os intervalos entre os próprios valores (calma que já explico melhor). Escolha o que for maior e insira no meio deles. Agora explicando: Se eu posso colocar 10 elementos, e já coloquei: 1 2 3 4 5 6 7 8 9 10 Agora chegou o "11". Como a lista está vazia, eu verifico o intervalo entre o "1" e o "10" (int((10-1)/2) = 4). Vou lá e APAGO a POSIÇÃO 4 (* automaticamente, por causa da estrutura de dados, o 5 já vira 4, o 6 vira 5, etc.) e salvo-a na lista. Terei agora: 1 2 3 5 6 7 8 9 10 11 Quando chegar o "12", Faço a diferença entre 1 e 4 (int((4-1)/2) = 1) e entre 10 e 4 (int((10-4)/2) = 3). O "3" é maior, então eu apago o elemento entre o 4 e o 10 (no caso, "7") e insiro novamente no final. Espero não ter sido MUITO confuso. Alguém consegue pensar numa solução mais eficiente? Obrigado por ter lido até aqui :P /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF From scvalmei em graaph.arq.br Tue Jun 22 17:47:45 2004 From: scvalmei em graaph.arq.br (SilvioCVdeAlmeida) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] algoritmo References: <91942725.20040622184208@grad.icmc.usp.br> Message-ID: <40D8B711.23D7B1A8@graaph.arq.br> Luís, Aparentemente uma porcentagem do seu objetivo, que não ficou completamente claro para mim, pode ser obtida deste modo: A partir do momento em que o buffer estiver completo, você passa a descartar um ítem aleatório antes de adicionar o novo elemento no final: $conta=-1; push(@buff, novo_byte()) while(++$conta < $tamanho); while(1) { splice(@buff, rand($tamanho), 1); push @buff, novo_byte(); } Compreender a diferença efetiva entre os dois algoritmos está além da minha capacidade de abstração. Mas assim fica bem mais simples! Silvio Luís Fernando wrote: > > Sei que esse não é um problema de específico perl (e sim mais de > algoritmo), mas agradeço se alguém puder me ajudar :) > > Eu tenho um buffer não-sequencial* de 100 bytes, e vou gravando "seqüências ordenadas de > amostragem" nele. > Supondo: eu recebo 1 amostra de 1 byte a cada segundo, e salvo-a no > final desse buffer. Para facilitar o entendimento, vou supor que essa amostra é uma > seqüência que começa no 1 quando eu rodo o programa e vai > incrementando de 1 a cada segundo. > O problema é que uma hora o buffer vai encher. Quando isso acontecer, > para ter o mínimo de perda possível, quero que amostras sejam apagadas > "da melhor forma possível". > > Se, quando chegasse em 100 bytes, para adicionar uma > nova eu apagasse a primeira (e assim por diante), eu perderia todos os > dados antigos. Em vez disso, eu prefiro ter amostras a cada 2 > segundos. > Clareando: Se eu tenho o buffer de 100 bytes e recebo 200 informações, > eu não armazenaria apenas as 100 últimas, e sim "1 sim outra não" > (ficaria, no buffer, 1 3 5 7 9, etc.). > > Mas como as informações "vão chegando" (tempo real), não dá para > saber quantas vão ter. > > Melhor solução que consegui pensar até agora: > - quando rodar o programa, inicie uma lista vazia; > - a cada amostra recebida, verifique qual o intervalo entre os > extremos do buffer e os valores da lista e os intervalos entre > os próprios valores (calma que já explico melhor). Escolha o que for > maior e insira no meio deles. > > Agora explicando: > Se eu posso colocar 10 elementos, e já coloquei: > 1 2 3 4 5 6 7 8 9 10 > > Agora chegou o "11". Como a lista está vazia, eu verifico o intervalo > entre o "1" e o "10" (int((10-1)/2) = 4). Vou lá e APAGO a POSIÇÃO 4 > (* automaticamente, por causa da estrutura de dados, o 5 já vira 4, o 6 > vira 5, etc.) e salvo-a na lista. > Terei agora: > 1 2 3 5 6 7 8 9 10 11 > > Quando chegar o "12", Faço a diferença entre 1 e 4 (int((4-1)/2) = 1) e entre > 10 e 4 (int((10-4)/2) = 3). O "3" é maior, então eu apago o elemento > entre o 4 e o 10 (no caso, "7") e insiro novamente no final. > > Espero não ter sido MUITO confuso. > > Alguém consegue pensar numa solução mais eficiente? > > Obrigado por ter lido até aqui :P > > /* > > +---------------------------------+ > | Luís Fernando Estrozi | > +---------------------------------+ > | Ciência da Computação - USP | > | | > | mailto:lemon@grad.icmc.usp.br | > | ICQ#: 25541891 | > | | > | http://grad.icmc.usp.br/~lemon/ | > +---------------------------------+ > > There are 10 types of people in the world: Those who understand binary, and those who don't > > */ EOF > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From lemon em grad.icmc.usp.br Tue Jun 22 18:30:58 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] algoritmo In-Reply-To: <40D8B711.23D7B1A8@graaph.arq.br> References: <91942725.20040622184208@grad.icmc.usp.br> <40D8B711.23D7B1A8@graaph.arq.br> Message-ID: <1925163364.20040622203058@grad.icmc.usp.br> Digamos que a diferença entre o que eu desejo e o que o que você citou é exatamente a "aleatoriedade". Para simplificar: Se cabe 10 elementos e eu mando inserir 10 (1..10), é para ficar: 1 2 3 4 5 6 7 8 9 10 Se cabe 10 elementos e eu mando inserir 20 (1..20): 1 3 5 7 9 11 13 15 17 19 Se cabe 10 elementos e eu mando inserir 40 (1..40): 1 5 9 13 17 21 25 29 33 37 Entendeu? Como cada "sample" é pego em intervalos de 1 segundo, no primeiro caso o intervalo entre um e outro seria de 1 segundo No segundo, como não coube no buffer, ele excluiu alguns intermediários, ficando com intervalos de 2 segundos... no terceiro, com intervalos de 4 segundos. Obviamente, há "intermediários" disso (por exemplo, 15 elementos quando só cabem 10) e acho que o método que descrevi funciona para eles, porém não me parece muito eficiente (tenho a impressão que é possível fazer em O(1)). /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 22/6/2004, 19:47 <---| Luís, Aparentemente uma porcentagem do seu objetivo, que não ficou completamente claro para mim, pode ser obtida deste modo: A partir do momento em que o buffer estiver completo, você passa a descartar um ítem aleatório antes de adicionar o novo elemento no final: $conta=-1; push(@buff, novo_byte()) while(++$conta < $tamanho); while(1) { splice(@buff, rand($tamanho), 1); push @buff, novo_byte(); } Compreender a diferença efetiva entre os dois algoritmos está além da minha capacidade de abstração. Mas assim fica bem mais simples! Silvio From mda em embratel.net.br Tue Jun 22 18:41:42 2004 From: mda em embratel.net.br (=?ISO-8859-1?Q?Marco_A_P_D=B4Andrade?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] algoritmo In-Reply-To: <91942725.20040622184208@grad.icmc.usp.br> References: <91942725.20040622184208@grad.icmc.usp.br> Message-ID: <40D8C3B6.50101@embratel.net.br> Luis, Vc não foi muito claro, porém eu estou assumindo que vc calcula a posição entre: 1o elemento e ultimo alterado (regra1) + ultimo alterado e ultimo elemento (regra 2) Suponho como resposta, não muito elegante, pois depende de variaveis globais: #-- use strict; use warnings; my @Itens; my $Max = 10; my ( $LastChange ); map { Insere( $_ ); print "+$Itens[-1]($Max): @Itens\n"; } ( 1 .. 10 ); print "$Itens[-1]($Max): @Itens ($LastChange)\n"; Insere( 11 ); print "$Itens[-1]($Max): @Itens ($LastChange)\n"; Insere( 12 ); print "$Itens[-1]($Max): @Itens ($LastChange)\n"; sub Insere { my ( $Val ) = @_; my ( $Range1, $Range2 ); # Atingiu o limite if ( @Itens == $Max ) { # Nao houve nenhuma alteracao ainda unless ( $LastChange ) { $LastChange = int(($Itens[-1]-$Itens[0])/2); } else { # Range inferior $Range1 = int(($Itens[0]-$Itens[$LastChange])/2); # Range superior $Range2 = int(($Itens[-1]-$Itens[$LastChange])/2); $LastChange = ( $Range1 > $Range2 ? $Range1 : $LastChange + $Range2 ); } # Removo um item splice(@Itens, --$LastChange, 1); } # acrescento ... push(@Itens, $Val); } --- Bate com seus valores... Feito com somente 2 ranges fixos, utilizando variavel e memoria em variaveis globais (nao recomendo). Agora diga... qual o uso prático ? Sds, Marco Antonio Luís Fernando wrote: >Sei que esse não é um problema de específico perl (e sim mais de >algoritmo), mas agradeço se alguém puder me ajudar :) > >Eu tenho um buffer não-sequencial* de 100 bytes, e vou gravando "seqüências ordenadas de >amostragem" nele. >Supondo: eu recebo 1 amostra de 1 byte a cada segundo, e salvo-a no >final desse buffer. Para facilitar o entendimento, vou supor que essa amostra é uma >seqüência que começa no 1 quando eu rodo o programa e vai >incrementando de 1 a cada segundo. >O problema é que uma hora o buffer vai encher. Quando isso acontecer, >para ter o mínimo de perda possível, quero que amostras sejam apagadas >"da melhor forma possível". > >Se, quando chegasse em 100 bytes, para adicionar uma >nova eu apagasse a primeira (e assim por diante), eu perderia todos os >dados antigos. Em vez disso, eu prefiro ter amostras a cada 2 >segundos. >Clareando: Se eu tenho o buffer de 100 bytes e recebo 200 informações, >eu não armazenaria apenas as 100 últimas, e sim "1 sim outra não" >(ficaria, no buffer, 1 3 5 7 9, etc.). > >Mas como as informações "vão chegando" (tempo real), não dá para >saber quantas vão ter. > > >Melhor solução que consegui pensar até agora: >- quando rodar o programa, inicie uma lista vazia; >- a cada amostra recebida, verifique qual o intervalo entre os >extremos do buffer e os valores da lista e os intervalos entre >os próprios valores (calma que já explico melhor). Escolha o que for >maior e insira no meio deles. > >Agora explicando: >Se eu posso colocar 10 elementos, e já coloquei: >1 2 3 4 5 6 7 8 9 10 > >Agora chegou o "11". Como a lista está vazia, eu verifico o intervalo >entre o "1" e o "10" (int((10-1)/2) = 4). Vou lá e APAGO a POSIÇÃO 4 >(* automaticamente, por causa da estrutura de dados, o 5 já vira 4, o 6 >vira 5, etc.) e salvo-a na lista. >Terei agora: >1 2 3 5 6 7 8 9 10 11 > >Quando chegar o "12", Faço a diferença entre 1 e 4 (int((4-1)/2) = 1) e entre >10 e 4 (int((10-4)/2) = 3). O "3" é maior, então eu apago o elemento >entre o 4 e o 10 (no caso, "7") e insiro novamente no final. > >Espero não ter sido MUITO confuso. > >Alguém consegue pensar numa solução mais eficiente? > >Obrigado por ter lido até aqui :P > >/* > >+---------------------------------+ >| Luís Fernando Estrozi | >+---------------------------------+ >| Ciência da Computação - USP | >| | >| mailto:lemon@grad.icmc.usp.br | >| ICQ#: 25541891 | >| | >| http://grad.icmc.usp.br/~lemon/ | >+---------------------------------+ > >There are 10 types of people in the world: Those who understand binary, and those who don't > >*/ EOF > >_______________________________________________ >Cascavel-pm mailing list >Cascavel-pm@mail.pm.org >http://cascavel.pm.org/mailman/listinfo/cascavel-pm > > > From nferraz em phperl.com Tue Jun 22 19:40:06 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Projeto / Software Livre Message-ID: <40D8D166.7020001@phperl.com> Pessoal, Estou com um projeto para desenvolvimento de sistema de informação em ambiente web, usando Class::DBI e Template Toolkit. Gostaria de saber se alguém aqui na lista tem experiência nestes módulos e gostaria de se envolver no projeto. OBS - é um desenvolvimento de software livre, mas o projeto será pago. []s Nelson From glasswalk3r em yahoo.com.br Sun Jun 20 23:26:27 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] V Encontro dos =?ISO-8859-1?Q?S=E3o?= Paulo Perl Mongers... In-Reply-To: <012701c4564b$49f44e20$e702fea9@laffit> References: <012701c4564b$49f44e20$e702fea9@laffit> Message-ID: <20040621012627.6c905c57@valhalla.localdomain> On Sat, 19 Jun 2004 19:17:52 -0300 "Luis Campos de Carvalho" wrote: > Senhores, > > Como o último encontro foi uma piada de mau-gosto para cima do > Solli, eu gostaria muito de agendar o próximo encontro para o mesmo > lugar da outra vez, o O'Malley's Pub, onde vou me redimir pagando ao > Solli uma rodada de qualquer coisa que ele desejar beber. Recomendo > que os monges que se sentirem em falta com o irmão Solli sigam o > mesmo Rito de Purificação, até se sentirem melhor ou até o irmão > Solli precisar de glicose. É verdade. É uma vergonha, eu mesmo sugeri o lugar e não fui. Desculpe Solli. Se a bebida oferecida pelo Champs não lhe derrubar, a próxima será por minha conta. > Vamos agendar para o mesmo lugar, no sábado que vem, ultimo sábado > do mês, no mesmo horário de sempre (às 14:00, para os > não-iniciados)? > Com mais de um voto "sim", eu posto o convite ainda esta semana. > Putamplexos para todo mundo. Pode postar o convite! []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From alfspsp em hotmail.com Wed Jun 23 07:06:38 2004 From: alfspsp em hotmail.com (=?iso-8859-1?Q?Alex_E._J._Falc=E3o?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] algoritmo References: <91942725.20040622184208@grad.icmc.usp.br> Message-ID: Caro Luis, existe uma ferramente muito Loka chamda RRDTool, ela já tem tudo implementado. muito boa. Ferramentas como o MRTG utilizam esta tecnologia. Vale a pena conferir http://people.ee.ethz.ch/~oetiker/webtools/ Boa sorte Alex Falcão ----- Original Message ----- From: "Luís Fernando" To: "Cascavel Perl Mongers" Sent: Tuesday, June 22, 2004 6:42 PM Subject: [Cascavel-pm] algoritmo > Sei que esse não é um problema de específico perl (e sim mais de > algoritmo), mas agradeço se alguém puder me ajudar :) > > Eu tenho um buffer não-sequencial* de 100 bytes, e vou gravando "seqüências ordenadas de > amostragem" nele. > Supondo: eu recebo 1 amostra de 1 byte a cada segundo, e salvo-a no > final desse buffer. Para facilitar o entendimento, vou supor que essa amostra é uma > seqüência que começa no 1 quando eu rodo o programa e vai > incrementando de 1 a cada segundo. > O problema é que uma hora o buffer vai encher. Quando isso acontecer, > para ter o mínimo de perda possível, quero que amostras sejam apagadas > "da melhor forma possível". > > Se, quando chegasse em 100 bytes, para adicionar uma > nova eu apagasse a primeira (e assim por diante), eu perderia todos os > dados antigos. Em vez disso, eu prefiro ter amostras a cada 2 > segundos. > Clareando: Se eu tenho o buffer de 100 bytes e recebo 200 informações, > eu não armazenaria apenas as 100 últimas, e sim "1 sim outra não" > (ficaria, no buffer, 1 3 5 7 9, etc.). > > Mas como as informações "vão chegando" (tempo real), não dá para > saber quantas vão ter. > > > Melhor solução que consegui pensar até agora: > - quando rodar o programa, inicie uma lista vazia; > - a cada amostra recebida, verifique qual o intervalo entre os > extremos do buffer e os valores da lista e os intervalos entre > os próprios valores (calma que já explico melhor). Escolha o que for > maior e insira no meio deles. > > Agora explicando: > Se eu posso colocar 10 elementos, e já coloquei: > 1 2 3 4 5 6 7 8 9 10 > > Agora chegou o "11". Como a lista está vazia, eu verifico o intervalo > entre o "1" e o "10" (int((10-1)/2) = 4). Vou lá e APAGO a POSIÇÃO 4 > (* automaticamente, por causa da estrutura de dados, o 5 já vira 4, o 6 > vira 5, etc.) e salvo-a na lista. > Terei agora: > 1 2 3 5 6 7 8 9 10 11 > > Quando chegar o "12", Faço a diferença entre 1 e 4 (int((4-1)/2) = 1) e entre > 10 e 4 (int((10-4)/2) = 3). O "3" é maior, então eu apago o elemento > entre o 4 e o 10 (no caso, "7") e insiro novamente no final. > > Espero não ter sido MUITO confuso. > > Alguém consegue pensar numa solução mais eficiente? > > Obrigado por ter lido até aqui :P > > /* > > +---------------------------------+ > | Luís Fernando Estrozi | > +---------------------------------+ > | Ciência da Computação - USP | > | | > | mailto:lemon@grad.icmc.usp.br | > | ICQ#: 25541891 | > | | > | http://grad.icmc.usp.br/~lemon/ | > +---------------------------------+ > > There are 10 types of people in the world: Those who understand binary, and those who don't > > */ EOF > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > From lechamps em terra.com.br Wed Jun 23 09:04:22 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] algoritmo (ou deveria dizer "EP"?) In-Reply-To: <1925163364.20040622203058@grad.icmc.usp.br> References: <91942725.20040622184208@grad.icmc.usp.br> <40D8B711.23D7B1A8@graaph.arq.br> <1925163364.20040622203058@grad.icmc.usp.br> Message-ID: <40D98DE6.6050003@terra.com.br> Luís Fernando wrote: > Digamos que a diferença entre o que eu desejo e o que o que você citou > é exatamente a "aleatoriedade". > > Para simplificar: > Se cabe 10 elementos e eu mando inserir 10 (1..10), é para ficar: > 1 2 3 4 5 6 7 8 9 10 > > Se cabe 10 elementos e eu mando inserir 20 (1..20): > 1 3 5 7 9 11 13 15 17 19 > > Se cabe 10 elementos e eu mando inserir 40 (1..40): > 1 5 9 13 17 21 25 29 33 37 > > Entendeu? > Hum. Na verdade, você não está sendo claro o suficiente para alguém entender. Seu algorítmo calcula um slice de árvore binária, não-balanceada, destrutivamente, como forma de classificar (ou priorizar) os elementos e condensar o espaço utilizado para a amostra de uma maneira racional. Eu acredito que seus algorítmos não poderão ter O(1), já que toda inserção não-balanceada em árvore binária é maior que isso (D. Knuth, "The Art of Computer Programming", v1, se eu me lembro bem). Você poderia assumir o custo de construção, e olhar seus dados como uma árvore binária não-balanceada, pagando o custo de alocação de memória necessário para a construção da estrutura toda. Depois que a coleta de informações terminar, você poderia balancear a árvore e finalmente escolher o "slice" que mais se adequa ao espaço disponível. IMHO, esta solução produzirá resultados mais balanceados, e a inferência para a população será aproximadamente normal, com erro quadrático... Claro, se isso não violar nenhuma regra do Exercício Programa que você está tentando resolver... ;-) Ah! Alex Falcão, acho que isso é a "utilidade prática" que você está procurando para o programa... :-) Que tal você postar o problema inteiro para a gente dar uma espiada? Pode ser que apareça alguma idéia interessante para você implementar esta coisa mais rapidamente... :-) Sinceramente, eu recomendo que você vá atrás dos livros do Mestre Knuth, você não vai se arrepender... Putamplexos. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lemon em grad.icmc.usp.br Wed Jun 23 10:29:08 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] algoritmo (ou deveria dizer "EP"?) In-Reply-To: <40D98DE6.6050003@terra.com.br> References: <91942725.20040622184208@grad.icmc.usp.br> <40D8B711.23D7B1A8@graaph.arq.br> <1925163364.20040622203058@grad.icmc.usp.br> <40D98DE6.6050003@terra.com.br> Message-ID: <156236467.20040623122908@grad.icmc.usp.br> Valeu, Alex. Vou dar uma olhada. Luis Campos: acho que o problema original é mais complicado do que o que eu falei :P mas vamos lá estou fazendo um programa que pega "entradas" (samples) de 2s de som a cada 10s e vai salvando em arquivos separados: sample20040623122330.raw (23/06/2004 às 12:23:30) sample20040623122340.raw (23/06/2004 às 12:23:40) (.raw é como se fosse um .wav, mas sem headers) o tamanho de cada arquivo é o mesmo (porque não há nenhum tipo de compressão... 2s são sempre o mesmo tamanho de arquivo). O problema é que não quero que esses arquivos somem mais de 200 MBs (lembrando que o tamanho de cada é fixo, basta saber quantos arquivos cabem). Se isso acontecer, quero que comece a ficar "um sample sim outro não" de forma que hmmm... os intervalos entre todos samples seja pequeno. Quero dessa forma pois é melhor ter uma pequena idéia de como estava o som às entre às 12:10h e 12:20h (supondo que tenha sobrado só um sample) do que não saber nada sobre esse horário e saber "tudo" sobre o "final do sample". Fui mais claro? /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 23/6/2004, 11:04 <---| Luís Fernando wrote: > Digamos que a diferença entre o que eu desejo e o que o que você citou > é exatamente a "aleatoriedade". > > Para simplificar: > Se cabe 10 elementos e eu mando inserir 10 (1..10), é para ficar: > 1 2 3 4 5 6 7 8 9 10 > > Se cabe 10 elementos e eu mando inserir 20 (1..20): > 1 3 5 7 9 11 13 15 17 19 > > Se cabe 10 elementos e eu mando inserir 40 (1..40): > 1 5 9 13 17 21 25 29 33 37 > > Entendeu? > Hum. Na verdade, você não está sendo claro o suficiente para alguém entender. Seu algorítmo calcula um slice de árvore binária, não-balanceada, destrutivamente, como forma de classificar (ou priorizar) os elementos e condensar o espaço utilizado para a amostra de uma maneira racional. Eu acredito que seus algorítmos não poderão ter O(1), já que toda inserção não-balanceada em árvore binária é maior que isso (D. Knuth, "The Art of Computer Programming", v1, se eu me lembro bem). Você poderia assumir o custo de construção, e olhar seus dados como uma árvore binária não-balanceada, pagando o custo de alocação de memória necessário para a construção da estrutura toda. Depois que a coleta de informações terminar, você poderia balancear a árvore e finalmente escolher o "slice" que mais se adequa ao espaço disponível. IMHO, esta solução produzirá resultados mais balanceados, e a inferência para a população será aproximadamente normal, com erro quadrático... Claro, se isso não violar nenhuma regra do Exercício Programa que você está tentando resolver... ;-) Ah! Alex Falcão, acho que isso é a "utilidade prática" que você está procurando para o programa... :-) Que tal você postar o problema inteiro para a gente dar uma espiada? Pode ser que apareça alguma idéia interessante para você implementar esta coisa mais rapidamente... :-) Sinceramente, eu recomendo que você vá atrás dos livros do Mestre Knuth, você não vai se arrepender... Putamplexos. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From daniel em ruoso.com Wed Jun 23 12:29:20 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Projeto / Software Livre In-Reply-To: <40D8D166.7020001@phperl.com> References: <40D8D166.7020001@phperl.com> Message-ID: <1088011759.1409.4.camel@cedro> Em Ter, 2004-06-22 às 21:40, Nelson Ferraz escreveu: > Pessoal, > > Estou com um projeto para desenvolvimento de sistema de informação em > ambiente web, usando Class::DBI e Template Toolkit. > Gostaria de saber se alguém aqui na lista tem experiência nestes módulos > e gostaria de se envolver no projeto. Não tenho experiência com esses módulos em específico, mas já trabalhei muito com Templates e com orientação a objetos no acesso a dados, acho que poderia ajudar de uma forma bastante eficiente... P.S.: É um requisito essa infra-estrutura? > OBS - é um desenvolvimento de software livre, mas o projeto será pago. Melhor :), é só passar as condições... :) From alfspsp em hotmail.com Wed Jun 23 14:37:02 2004 From: alfspsp em hotmail.com (=?iso-8859-1?Q?Alex_E._J._Falc=E3o?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Analise de tendencia References: <40D8D166.7020001@phperl.com> <1088011759.1409.4.camel@cedro> Message-ID: Boa tarde mestres, gostaria de uma ajuda de voces para calcular tendencia de um certo número de valores. Preciso identificar se um determinado valor esta muito fora da minha tendencia, exemplo: 3 5 8 5 8 12 56 preciso identificar se o último número esta fora da tendencia Obrigado Alex Falcão From ramoni em databras.com.br Wed Jun 23 15:17:14 2004 From: ramoni em databras.com.br (Ramoni) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Analise de tendencia In-Reply-To: References: <40D8D166.7020001@phperl.com> <1088011759.1409.4.camel@cedro> Message-ID: <200406231717.14238.ramoni@databras.com.br> Nao sei se entendi bem..., mas tendencia como o nome diz eh relativo.. o q vc pode fazer eh a cada novo numero, voce calcular uma media dos que voce tem (pode ser ponderada ou aritmetica), e compara a media a esse novo numero, em funcao de uma tolerancia q vc poderia fornecer em porcentagem..., daih aceita-lo ou nao... mais claramente: media sem peso: 1 1 1 4 4 6 = 2.8 novo numero: 12 margem: + - 200% (daria 8.4) nao entraria, sacou ? se fosse 8 o novo numero, entraria, e ficaria: 1 1 1 4 4 6 8 = 3.57, que com essa mragem, agora aceitaria ateh 10.7 em fim... ? Acho q o ideal seria usando pesos, media ponderada, assim, a media acompanharia melhor a "tendencia" dos valores pois voce poderia dar peso maior aos ultimos numeros. eh isso mesmo q vc ker ? On Wednesday 23 June 2004 16:37, Alex E. J. Falcão wrote: > Boa tarde mestres, > > gostaria de uma ajuda de voces para calcular tendencia de um certo > número de valores. Preciso identificar se um determinado valor esta muito > fora da minha tendencia, exemplo: > > 3 5 8 5 8 12 56 > > preciso identificar se o último número esta fora da tendencia > > Obrigado > Alex Falcão > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From daniel em ruoso.com Wed Jun 23 16:08:47 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Analise de tendencia In-Reply-To: References: <40D8D166.7020001@phperl.com> <1088011759.1409.4.camel@cedro> Message-ID: <1088024927.1410.13.camel@cedro> isso leva em consideração uma progressão? Em Qua, 2004-06-23 às 16:37, Alex E. J. Falcão escreveu: > Boa tarde mestres, > > gostaria de uma ajuda de voces para calcular tendencia de um certo > número de valores. Preciso identificar se um determinado valor esta muito > fora da minha tendencia, exemplo: > > 3 5 8 5 8 12 56 > > preciso identificar se o último número esta fora da tendencia > > Obrigado > Alex Falcão > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From fglock em pucrs.br Wed Jun 23 17:12:26 2004 From: fglock em pucrs.br (Flavio S. Glock) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Analise de tendencia References: <40D8D166.7020001@phperl.com> <1088011759.1409.4.camel@cedro> Message-ID: <40DA0049.3FDA@pucrs.br> Alex E. J. Falcão wrote: > > Boa tarde mestres, > > gostaria de uma ajuda de voces para calcular tendencia de um certo > número de valores. Preciso identificar se um determinado valor esta muito > fora da minha tendencia, exemplo: > > 3 5 8 5 8 12 56 > > preciso identificar se o último número esta fora da tendencia Isso depende se seus dados são ordenados ("stream") ou uma lista ("população"). No primeiro caso você pode usar uma regressão linear ou um filtro digital, e no segundo caso também tem vários procedimentos estatísticos que podem servir. Alguns pacotes que podem ajudar: Statistics::Lite - para dados que não tem ordem definida (faz média e desvio padrão) Statistics::LineFit - para dados com ordem definida (faz regressão linear) O que estes pacotes fazem é calcular qual o "padrão" dos dados, e dar uma medida de quanto cada número está longe do padrão. Aí basta você escolher qual é o limite entre o que é "normal" e o que é "diferente". - Flavio S. Glock From lechamps em terra.com.br Wed Jun 23 21:09:50 2004 From: lechamps em terra.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] =?iso-8859-1?q?=5BSocial_Meeting=5D_++=24counter_E?= =?iso-8859-1?q?ncontro_Social_dos_S=E3o_Paulo_Perl_Mongers?= Message-ID: <007501c45990$56e000a0$daf7fea9@laffit> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Prezad(?:o|a)s Desta vez, o horário está um pouquinho diferente; De resto, vamos fazer como da vez passada (Mas vamos aparecer para o encontro). Se você não está inscrito em um dos grupos de usuários Perl que costuma receber convites, por favor considere-se um convidado(a) especial. Eu tomei a liberdade de convidar 6 pessoas de fora da comunidade, desta vez. Espero que o pessoal não se incomode. :-) ====================================================== Encontro Social dos Monges Perl Paulistanos Os monges paulistanos têm a honra de convidá-lo para nosso quarto encontro social, que se realiza tradicionalmente no último sábado de cada mês. Desta vez, acontecerá no dia 26 de junho de 2004, a partir das 16:00 BRT, no O'Malleys Pub. Como sempre, eu fiz reserva para umas 12 pessoas (sim, eu sei que nunca vêm tantas, mas se o lugar agradar a você pode aparecer... ;-) Quem tiver problemas, pode me telefonar no (11)9297 4646. Putamplexos, e vejo voc?no s?do! ################################################### O'Malley's Irish Pub http://www.omalleysbar.net/ West 46°, 39' 55.5" - South 23°, 33' 29.6" Alameda Itú 1529, Jardins, São Paulo, Brazil Telephone: +55 11 3086 0780 R$10,00 - R$50,00 por cabeça (sem consumação, depende muito do que você beber) ################################################### Eu fiz reserva no nome dos São Paulo Perl Mongers, basta chegar e perguntar pela mesa. Todos estão convidados. Apareça! Isso é exatamente daqui a três dias, se você estiver lendo esta mensagem no mesmo dia em que eu enviei. ================================================== Putamplexos, e vejo você no sábado! - - -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (MingW32) - WinPT 0.7.96rc1 iD8DBQFA2jfLz+iwwpKRaDIRAkz3AJ9MVqjCPu+0V8zGeUOoh6aaD0oT8QCeMxQn Wb3crww0FKwvKo8KOIThE9o= =e494 -----END PGP SIGNATURE----- From dexter em ticbrasil.com.br Thu Jun 24 12:55:04 2004 From: dexter em ticbrasil.com.br (dexter@ticbrasil.com.br) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] string References: <007501c45990$56e000a0$daf7fea9@laffit> Message-ID: <00d301c45a14$60b66b30$0202a8c0@DexterNote> Senhores tenho uma frase como a frase abaixo e gostaria de saber como faço para selecionar apenas oque está entre chaves: teste teste id dexter kkk teste "Abacaxi" para "Melao " "Quaqui " aaaaa "Pera" teste teste teste teste2 Eu quero apenas as frutas Mais uma vez muito obrigado pela força e pelo conhecimento de vcs Monges Ass: Ricardo Omar ( Dexter) From ramoni em databras.com.br Thu Jun 24 15:32:36 2004 From: ramoni em databras.com.br (Ramoni) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Encontro Monges Cariocas Message-ID: <200406241732.36340.ramoni@databras.com.br> Mensagem do Mago: Salve Monges; Seguindo a tradição e inspirado pelos Monges Paulistas, o Rio.PM realizará seu encontro social no mesmo dia e horário dos encontro social do São Paulo.PM, quem sabe não rola uma "video conferência", se não pelo menos uma "telefone conferência" ;-) ============================================================= Encontro Social dos Monges Perl Cariocas Os monges cariocas têm a honra de convidá-lo para nosso segundo encontro social, que se realiza no dia 26 de junho de 2004, a partir das 16:00 BRT, no Planalto do Flamengo. Para quem não conhece o lugar, é muito simples chegar, de Metrô você pode descer no Largo do Machado e seguir direção à rua Senador Vergueiro, para quem estiver de carro: direção Botafogo-Centro, é só seguir pela rua Senador Vergueiro, direção Centro-Botafogo, siga pela Praia do Flamengo e entre na rua Paissandú e siga pela rua Senador Vergueiro. O Planalto fica localizado entre as ruas Senador Vergueiro e Barão do Flamengo. Este convite se estende a todos os Monges Perl. Para localizar a mesa é só procurar pelo Dromedário ! Quem tiver problemas, pode me telefonar: +55 21 81 23 06 67 [ ]'s Mago ============================================================= From daniel em ruoso.com Thu Jun 24 16:04:30 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] string In-Reply-To: <00d301c45a14$60b66b30$0202a8c0@DexterNote> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> Message-ID: <1088111070.1417.7.camel@cedro> Em Qui, 2004-06-24 às 14:55, dexter@ticbrasil.com.br escreveu: > tenho uma frase como a frase abaixo e gostaria de saber como faço para > selecionar apenas oque está entre chaves: entre aspas, você quis dizer... > teste teste id dexter kkk teste "Abacaxi" para "Melao " "Quaqui " > aaaaa "Pera" teste teste teste teste2 my @salada; while ($geladeira =~ /\"([^\"]+)\"/g) { push @salada, $1; } open BOCA, ">dexter"; print BOCA join "acucar ", @salada; > Eu quero apenas as frutas nooooosssa :) From vivan em dim.fm.usp.br Thu Jun 24 17:36:52 2004 From: vivan em dim.fm.usp.br (vivan@dim.fm.usp.br) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] Back to RE In-Reply-To: <1088111070.1417.7.camel@cedro> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> Message-ID: <59957.200.179.66.230.1088116612.webmaildim@200.179.66.230> Opas, Andei sumido, pq mudanca, sabe como eh.... Cidade nova, casa nova, cerveja nova, mulheres novas :) Bem... Enfim... Aproveitando a duvida do nosso dignissimo colega. Eu tive que fazer algumas configuracoes usando MML num SGSN. Como teria que ficar digitando muito, resolvi usar o Perl ;) As ER que usei deram certo, solucionaram o problema, mas ficaram meio feionas... Me parece q tem como abreviar as ER (com \1 \2 e coisas do tipo). Queria q vcs me dessem um help nisso, jah nao consegui dominar o assunto por enquanto. Ae vao elas. Comecando com uma mais simples: /(\d+)\s(\w+)\s+(\w{3})\s+(\d+)\s+(\d+)\s+(\d+)(\-\d+)*\s+(\w+)\-(\d+)/ E agora, uma um pouquinho mais complicada: /(\d+).+SUB(\d+)\s+(\w+).+\s+\w{2}\-\w{2}\s+(\d+)\s+\w{2}\-\w{2}\s+(\d+)\s+(\d+)\s+(\w)\s+(\d+).+SUB(\d+)\s+(\w+).+\s+\w{2}\-\w{2}\s+(\d+)\s+\w{2}\-\w{2}\s+(\d+)\s+(\d+)\s+(\w)\s+(\d+)/ Bem... Existem varias repeticoes. Acho q dah pra enxugar legal. Por favor, me deem um help de como fazer isso. Ah... Os parenteses eu usei pq precisei capturar os valores nas variaveis $1, $2, e assim por diante... Tks, Adriano. > Em Qui, 2004-06-24 às 14:55, dexter@ticbrasil.com.br escreveu: >> tenho uma frase como a frase abaixo e gostaria de saber como faço para >> selecionar apenas oque está entre chaves: > > entre aspas, você quis dizer... > >> teste teste id dexter kkk teste "Abacaxi" para "Melao " >> "Quaqui " >> aaaaa "Pera" teste teste teste teste2 > > my @salada; > while ($geladeira =~ /\"([^\"]+)\"/g) { > push @salada, $1; > } > open BOCA, ">dexter"; > print BOCA join "acucar ", @salada; > >> Eu quero apenas as frutas > > nooooosssa :) > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > > -------------------------- > Esta mensagem foi verificada > pelo sistema de antivírus DIM e > acredita-se estar livre de Virus. > Virus data file v4367 created Jun 16 2004 > -------------------------- Esta mensagem foi verificada pelo sistema de antivírus DIM e acredita-se estar livre de Virus. Virus data file v4367 created Jun 16 2004 From lemon em grad.icmc.usp.br Thu Jun 24 17:41:05 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:06 2004 Subject: [Cascavel-pm] string In-Reply-To: <1088111070.1417.7.camel@cedro> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> Message-ID: <362300450.20040624194105@grad.icmc.usp.br> dah p/ fazer direto usando algo do tipo @salada = /\"(.*?)\"/g; #não testado /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 24/6/2004, 18:04 <---| Em Qui, 2004-06-24 às 14:55, dexter@ticbrasil.com.br escreveu: > tenho uma frase como a frase abaixo e gostaria de saber como faço para > selecionar apenas oque está entre chaves: entre aspas, você quis dizer... > teste teste id dexter kkk teste "Abacaxi" para "Melao " "Quaqui " > aaaaa "Pera" teste teste teste teste2 my @salada; while ($geladeira =~ /\"([^\"]+)\"/g) { push @salada, $1; } open BOCA, ">dexter"; print BOCA join "acucar ", @salada; > Eu quero apenas as frutas nooooosssa :) _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From daniel em ruoso.com Thu Jun 24 17:41:20 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Back to RE In-Reply-To: <59957.200.179.66.230.1088116612.webmaildim@200.179.66.230> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <59957.200.179.66.230.1088116612.webmaildim@200.179.66.230> Message-ID: <1088116880.1423.38.camel@cedro> Em Qui, 2004-06-24 às 19:36, vivan@dim.fm.usp.br escreveu: > Bem... Enfim... Aproveitando a duvida do nosso dignissimo colega. Eu tive > que fazer algumas configuracoes usando MML num SGSN. Como teria que ficar > digitando muito, resolvi usar o Perl ;) que diabos é MML e SGSN? > As ER que usei deram certo, solucionaram o problema, mas ficaram meio > feionas... Me parece q tem como abreviar as ER (com \1 \2 e coisas do > tipo). Queria q vcs me dessem um help nisso, jah nao consegui dominar o > assunto por enquanto. Vai ficar mais fácil se você mandar as strings de origem e de destino... > Ae vao elas. Comecando com uma mais simples: > /(\d+)\s(\w+)\s+(\w{3})\s+(\d+)\s+(\d+)\s+(\d+)(\-\d+)*\s+(\w+)\-(\d+)/ > E agora, uma um pouquinho mais complicada: > /(\d+).+SUB(\d+)\s+(\w+).+\s+\w{2}\-\w{2}\s+(\d+)\s+\w{2}\-\w{2}\s+(\d+)\s+(\d+)\s+(\w)\s+(\d+).+SUB(\d+)\s+(\w+).+\s+\w{2}\-\w{2}\s+(\d+)\s+\w{2}\-\w{2}\s+(\d+)\s+(\d+)\s+(\w)\s+(\d+)/ > Bem... Existem varias repeticoes. Acho q dah pra enxugar legal. Por favor, > me deem um help de como fazer isso. fazer um while naquilo que se repete resolve as repetições... From lemon em grad.icmc.usp.br Thu Jun 24 17:42:38 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Back to RE In-Reply-To: <59957.200.179.66.230.1088116612.webmaildim@200.179.66.230> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <59957.200.179.66.230.1088116612.webmaildim@200.179.66.230> Message-ID: <743369297.20040624194238@grad.icmc.usp.br> boa idéia! Será que não existe um "simplificador" de regexp? seria uma boa... /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 24/6/2004, 19:36 <---| Opas, Andei sumido, pq mudanca, sabe como eh.... Cidade nova, casa nova, cerveja nova, mulheres novas :) Bem... Enfim... Aproveitando a duvida do nosso dignissimo colega. Eu tive que fazer algumas configuracoes usando MML num SGSN. Como teria que ficar digitando muito, resolvi usar o Perl ;) As ER que usei deram certo, solucionaram o problema, mas ficaram meio feionas... Me parece q tem como abreviar as ER (com \1 \2 e coisas do tipo). Queria q vcs me dessem um help nisso, jah nao consegui dominar o assunto por enquanto. Ae vao elas. Comecando com uma mais simples: /(\d+)\s(\w+)\s+(\w{3})\s+(\d+)\s+(\d+)\s+(\d+)(\-\d+)*\s+(\w+)\-(\d+)/ E agora, uma um pouquinho mais complicada: /(\d+).+SUB(\d+)\s+(\w+).+\s+\w{2}\-\w{2}\s+(\d+)\s+\w{2}\-\w{2}\s+(\d+)\s+(\d+)\s+(\w)\s+(\d+).+SUB(\d+)\s+(\w+).+\s+\w{2}\-\w{2}\s+(\d+)\s+\w{2}\-\w{2}\s+(\d+)\s+(\d+)\s+(\w)\s+(\d+)/ Bem... Existem varias repeticoes. Acho q dah pra enxugar legal. Por favor, me deem um help de como fazer isso. Ah... Os parenteses eu usei pq precisei capturar os valores nas variaveis $1, $2, e assim por diante... Tks, Adriano. > Em Qui, 2004-06-24 às 14:55, dexter@ticbrasil.com.br escreveu: >> tenho uma frase como a frase abaixo e gostaria de saber como faço para >> selecionar apenas oque está entre chaves: > > entre aspas, você quis dizer... > >> teste teste id dexter kkk teste "Abacaxi" para "Melao " >> "Quaqui " >> aaaaa "Pera" teste teste teste teste2 > > my @salada; > while ($geladeira =~ /\"([^\"]+)\"/g) { > push @salada, $1; > } > open BOCA, ">dexter"; > print BOCA join "acucar ", @salada; > >> Eu quero apenas as frutas > > nooooosssa :) > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > > -------------------------- > Esta mensagem foi verificada > pelo sistema de antivírus DIM e > acredita-se estar livre de Virus. > Virus data file v4367 created Jun 16 2004 > -------------------------- Esta mensagem foi verificada pelo sistema de antivírus DIM e acredita-se estar livre de Virus. Virus data file v4367 created Jun 16 2004 _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From vivan em dim.fm.usp.br Fri Jun 25 08:09:11 2004 From: vivan em dim.fm.usp.br (vivan@dim.fm.usp.br) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Back to RE In-Reply-To: <1088116880.1423.38.camel@cedro> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <59957.200.179.66.230.1088116612.webmaildim@200.179.66.230> <1088116880.1423.38.camel@cedro> Message-ID: <23583.200.179.66.230.1088168951.webmaildim@200.179.66.230> Opas, > Em Qui, 2004-06-24 às 19:36, vivan@dim.fm.usp.br escreveu: >> Bem... Enfim... Aproveitando a duvida do nosso dignissimo colega. Eu >> tive >> que fazer algumas configuracoes usando MML num SGSN. Como teria que >> ficar >> digitando muito, resolvi usar o Perl ;) > > que diabos é MML e SGSN? SGSN eh um elemento de rede telecom responsavel pelo roteamento e autenticacoes a rede GPRS. MML eh uma linguagem (seria mais uma interface) para se conseguir falar com o elemento em alto nivel (parece coisa de presidiario. hehehehehhehehhe). Eh umas maluquices com q eu to trabalhando agora, que nao vem ao caso estar poluindo vcs de informacoes com isso :) > >> As ER que usei deram certo, solucionaram o problema, mas ficaram meio >> feionas... Me parece q tem como abreviar as ER (com \1 \2 e coisas do >> tipo). Queria q vcs me dessem um help nisso, jah nao consegui dominar o >> assunto por enquanto. > > Vai ficar mais fácil se você mandar as strings de origem e de destino... Entao... Eh um arquivo de saida do pra configuracao do SGSN. Um arquivo texto normalz.... > >> Ae vao elas. Comecando com uma mais simples: >> /(\d+)\s(\w+)\s+(\w{3})\s+(\d+)\s+(\d+)\s+(\d+)(\-\d+)*\s+(\w+)\-(\d+)/ >> E agora, uma um pouquinho mais complicada: >> /(\d+).+SUB(\d+)\s+(\w+).+\s+\w{2}\-\w{2}\s+(\d+)\s+\w{2}\-\w{2}\s+(\d+)\s+(\d+)\s+(\w)\s+(\d+).+SUB(\d+)\s+(\w+).+\s+\w{2}\-\w{2}\s+(\d+)\s+\w{2}\-\w{2}\s+(\d+)\s+(\d+)\s+(\w)\s+(\d+)/ >> Bem... Existem varias repeticoes. Acho q dah pra enxugar legal. Por >> favor, >> me deem um help de como fazer isso. > > fazer um while naquilo que se repete resolve as repetições... Sim. Esse while jah estah sendo feito, mas eh pra ler o arquivo todo. Acho q nao daria certo nesse caso.... > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > > -------------------------- > Esta mensagem foi verificada > pelo sistema de antivírus DIM e > acredita-se estar livre de Virus. > Virus data file v4367 created Jun 16 2004 > []s, Adriano. -------------------------- Esta mensagem foi verificada pelo sistema de antivírus DIM e acredita-se estar livre de Virus. Virus data file v4369 created Jun 24 2004 From monsieur_champs em yahoo.com.br Fri Jun 25 08:34:34 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string In-Reply-To: <00d301c45a14$60b66b30$0202a8c0@DexterNote> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> Message-ID: <40DC29EA.2050905@yahoo.com.br> dexter@ticbrasil.com.br wrote: > Senhores > tenho uma frase como a frase abaixo e gostaria de saber como faço para > selecionar apenas oque está entre chaves: > > teste teste id dexter kkk teste "Abacaxi" para "Melao " "Quaqui " > aaaaa "Pera" teste teste teste teste2 > Ricardo, a minha solução supõe que as "ASPAS" estejam sempre balanceadas, ou seja, em número par. Algum Monge mais iluminado do que eu talvez consiga realizar a mágica sem precisar disso. Como sempre, todo o código segue SEM TESTAR. Rode por sua conta e risco ;-) Vamos lá: # Leia do STDIN while( ){ # Acondicione em um array push @results, # Os resultados da expressão m/ " # Encontre um "abre-aspas"... ( # então, capture... [^"]+ # tudo o que não for aspas... ) # e armazene no array... " # sem capturar o "fecha-aspas". /gx # repita até terminar o texto(g), # e permita que eu comente a regexp(x) # neste ponto, @results tem os valores encontrados # entre aspas na linha atual. Talvez você precise # armazenar estes valores em outro lugar. } # Vá para a próxima linha. > Mais uma vez muito obrigado pela força e pelo conhecimento de vcs Monges Obrigado, nada! Mostra a cara! Venha conhecer os monges perl no encontro social de sábado e beba uma 'breja por minha conta. > Ass: Ricardo Omar ( Dexter) Finalmente, o nome do Dexter... prazer em conhecê-lo, meu caro! :-) Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From monsieur_champs em yahoo.com.br Fri Jun 25 08:42:06 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string In-Reply-To: <1088111070.1417.7.camel@cedro> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> Message-ID: <40DC2BAE.4030703@yahoo.com.br> Daniel Ruoso wrote: > my @salada; > while ($geladeira =~ /\"([^\"]+)\"/g) { > push @salada, $1; > } > open BOCA, ">dexter"; > print BOCA join "acucar ", @salada; Criativo, mas um pouco bruto... :-) Pega leve, Daniel, ou o carinha vai assustar... >>Eu quero apenas as frutas > > nooooosssa :) > Hum. Eu inicialmente evitei falar nisso, mas já que o Daniel começou, pega leve, Dexter, ou a gente vai assustar... ;-) essas frases são comprometedoras demais... Daniel, por venha ao encontro de sábado, eu vou gostar de conhecer você pessoalmente. :-) Sem maldade, claro! Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From vivan em dim.fm.usp.br Fri Jun 25 08:51:32 2004 From: vivan em dim.fm.usp.br (vivan@dim.fm.usp.br) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string In-Reply-To: <40DC29EA.2050905@yahoo.com.br> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <40DC29EA.2050905@yahoo.com.br> Message-ID: <17570.200.179.66.230.1088171492.webmaildim@200.179.66.230> Acho que seria mais facil usar: while () { /^\"(.+)\"$/; print $1; } []s, Adriano. > dexter@ticbrasil.com.br wrote: >> Senhores >> tenho uma frase como a frase abaixo e gostaria de saber como faço para >> selecionar apenas oque está entre chaves: >> >> teste teste id dexter kkk teste "Abacaxi" para "Melao " >> "Quaqui " >> aaaaa "Pera" teste teste teste teste2 >> > > Ricardo, a minha solução supõe que as "ASPAS" estejam sempre > balanceadas, ou seja, em número par. Algum Monge mais iluminado do que > eu talvez consiga realizar a mágica sem precisar disso. > > Como sempre, todo o código segue SEM TESTAR. > Rode por sua conta e risco ;-) > > Vamos lá: > > # Leia do STDIN > while( ){ > # Acondicione em um array > push @results, > # Os resultados da expressão > m/ " # Encontre um "abre-aspas"... > ( # então, capture... > [^"]+ # tudo o que não for aspas... > ) # e armazene no array... > " # sem capturar o "fecha-aspas". > /gx # repita até terminar o texto(g), > # e permita que eu comente a regexp(x) > # neste ponto, @results tem os valores encontrados > # entre aspas na linha atual. Talvez você precise > # armazenar estes valores em outro lugar. > } # Vá para a próxima linha. > >> Mais uma vez muito obrigado pela força e pelo conhecimento de vcs Monges > > Obrigado, nada! Mostra a cara! Venha conhecer os monges perl no > encontro social de sábado e beba uma 'breja por minha conta. > >> Ass: Ricardo Omar ( Dexter) > > Finalmente, o nome do Dexter... prazer em conhecê-lo, meu caro! > :-) Putamplexos! > -- > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Luis Campos de Carvalho is BSc in Comp Science, > PerlMonk [SiteDocClan], Cascavel-pm Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > > -------------------------- > Esta mensagem foi verificada > pelo sistema de antivírus DIM e > acredita-se estar livre de Virus. > Virus data file v4369 created Jun 24 2004 > -------------------------- Esta mensagem foi verificada pelo sistema de antivírus DIM e acredita-se estar livre de Virus. Virus data file v4369 created Jun 24 2004 From vivan em dim.fm.usp.br Fri Jun 25 09:04:48 2004 From: vivan em dim.fm.usp.br (vivan@dim.fm.usp.br) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string In-Reply-To: <40DC2BAE.4030703@yahoo.com.br> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <40DC2BAE.4030703@yahoo.com.br> Message-ID: <35783.200.179.66.230.1088172288.webmaildim@200.179.66.230> :D Eu nao sou lah muito chegado em fruta, mas a amizade continua a mesma, oks? :D > Daniel Ruoso wrote: >> my @salada; >> while ($geladeira =~ /\"([^\"]+)\"/g) { >> push @salada, $1; >> } >> open BOCA, ">dexter"; >> print BOCA join "acucar ", @salada; > > Criativo, mas um pouco bruto... :-) > Pega leve, Daniel, ou o carinha vai assustar... > >>>Eu quero apenas as frutas > > >> nooooosssa :) >> > > Hum. Eu inicialmente evitei falar nisso, mas já que o Daniel começou, > pega leve, Dexter, ou a gente vai assustar... ;-) essas frases são > comprometedoras demais... > > Daniel, por venha ao encontro de sábado, eu vou gostar de conhecer > você pessoalmente. :-) Sem maldade, claro! > > Putamplexos! > -- > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Luis Campos de Carvalho is BSc in Comp Science, > PerlMonk [SiteDocClan], Cascavel-pm Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > > -------------------------- > Esta mensagem foi verificada > pelo sistema de antivírus DIM e > acredita-se estar livre de Virus. > Virus data file v4369 created Jun 24 2004 > -------------------------- Esta mensagem foi verificada pelo sistema de antivírus DIM e acredita-se estar livre de Virus. Virus data file v4369 created Jun 24 2004 From vivan em dim.fm.usp.br Fri Jun 25 12:20:33 2004 From: vivan em dim.fm.usp.br (vivan@dim.fm.usp.br) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] SMS com Perl In-Reply-To: <35783.200.179.66.230.1088172288.webmaildim@200.179.66.230> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <40DC2BAE.4030703@yahoo.com.br> <35783.200.179.66.230.1088172288.webmaildim@200.179.66.230> Message-ID: <47489.200.179.66.230.1088184033.webmaildim@200.179.66.230> Gente, Surgiu uma ideia na minha cabeca (eh.... de vez enquando acontece isso :-P), que poderia facilitar minha vida um pokinho. Nao sei c tem como, mas... lanco a pergunta aos mestres: Existe alguma forma de enviar SMS atraves do Perl? Tipo... Digamos o seguinte... Eu recebo um email aki da lista. Ae, o email chegando no servidor faz com que ele (o servidor) envie um Short Message (SMS) para meu celu, me avisando. Eh possivel fazer isso em Perl? Ou uma coisa mais simples... Quero somente enviar um SMS atraves de meu script. Como faco? Existe alguma biblioteca para isso? O q eu preciso ter para conseguir esta facanha? A duvida esta lancada :D []s, Adriano. -------------------------- Esta mensagem foi verificada pelo sistema de antivírus DIM e acredita-se estar livre de Virus. Virus data file v4369 created Jun 24 2004 From scvalmei em graaph.arq.br Fri Jun 25 12:58:27 2004 From: scvalmei em graaph.arq.br (SilvioCVdeAlmeida) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Back to RE References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <59957.200.179.66.230.1088116612.webmaildim@200.179.66.230> <1088116880.1423.38.camel@cedro> <23583.200.179.66.230.1088168951.webmaildim@200.179.66.230> Message-ID: <40DC67C3.F323A032@graaph.arq.br> > >> As ER que usei deram certo, solucionaram o problema, > >> mas ficaram meio feionas... Para efeito puramente estético, ajuda colocar trechos repetitivos da expressão em variáveis: $data='\d\d?\sde[JFMASOND][a-z]+\sde\d\d\d\d\'; if($texto=~/$data/) { ... } Silvio From daniel em ruoso.com Fri Jun 25 13:07:57 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string In-Reply-To: <40DC2BAE.4030703@yahoo.com.br> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <40DC2BAE.4030703@yahoo.com.br> Message-ID: <1088186877.12495.35.camel@cedro> Em Sex, 2004-06-25 às 10:42, Luis Campos de Carvalho escreveu: > Daniel, por venha ao encontro de sábado, eu vou gostar de conhecer > você pessoalmente. :-) Sem maldade, claro! Só se você pagar o avião :).... eu estou há mais ou menos uns 3 mil km daí... em fortaleza, ceará... From daniel em ruoso.com Fri Jun 25 13:10:22 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string In-Reply-To: <17570.200.179.66.230.1088171492.webmaildim@200.179.66.230> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <40DC29EA.2050905@yahoo.com.br> <17570.200.179.66.230.1088171492.webmaildim@200.179.66.230> Message-ID: <1088187022.12496.37.camel@cedro> Em Sex, 2004-06-25 às 10:51, vivan@dim.fm.usp.br escreveu: > Acho que seria mais facil usar: > > while () > { > /^\"(.+)\"$/; > print $1; > } Acho que não iria funcionar, a não ser que as palavras entre aspas sejam a única na linha em que estiverem... From daniel em ruoso.com Fri Jun 25 13:13:24 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string In-Reply-To: <362300450.20040624194105@grad.icmc.usp.br> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <362300450.20040624194105@grad.icmc.usp.br> Message-ID: <1088187204.12494.41.camel@cedro> Em Qui, 2004-06-24 às 19:41, Luís Fernando escreveu: > @salada = /\"(.*?)\"/g; #não testado Com certeza.... como você está usando a regexp no contexto de uma lista ele vai fazer todas as iterações na regexp... From fglock em pucrs.br Fri Jun 25 13:59:27 2004 From: fglock em pucrs.br (Flavio S. Glock) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] SMS com Perl References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <40DC2BAE.4030703@yahoo.com.br> <35783.200.179.66.230.1088172288.webmaildim@200.179.66.230> <47489.200.179.66.230.1088184033.webmaildim@200.179.66.230> Message-ID: <40DC760F.543D@pucrs.br> vivan@dim.fm.usp.br wrote: > Existe alguma forma de enviar SMS atraves do Perl? Tipo... Digamos o > seguinte... Eu recebo um email aki da lista. Ae, o email chegando no > servidor faz com que ele (o servidor) envie um Short Message (SMS) para > meu celu, me avisando. Eh possivel fazer isso em Perl? > > Ou uma coisa mais simples... Quero somente enviar um SMS atraves de meu > script. Como faco? Existe alguma biblioteca para isso? O q eu preciso ter > para conseguir esta facanha? Adriano: Você pode acessar a interface web da companhia de celular. Praticamente todas têm um endereço web que pode enviar SMS. Dê uma olhada neste endereço para ver alguns exemplos de implementação: http://search.cpan.org/search?query=SMS Eu implementei o SMS para a Telefônica e Claro há um tempo atrás, mas os endereços web já estão desatualizados e o programa não funciona mais :( - Flavio S. Glock From lemon em grad.icmc.usp.br Fri Jun 25 17:37:33 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string In-Reply-To: <1088187204.12494.41.camel@cedro> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <362300450.20040624194105@grad.icmc.usp.br> <1088187204.12494.41.camel@cedro> Message-ID: <1797624646.20040625193733@grad.icmc.usp.br> que tal assim, Daniel? c:\>perl $a="teste \"aspas1\", sem aspas, \"com aspas2\" sem\naspas \"com\naspas\" e sem aspas novamente."; @b = $a =~ /\"(.*?)\"/gs; #agora sim, testado print @b; ^D aspas1com aspas2com aspas /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 25/6/2004, 15:13 <---| Em Qui, 2004-06-24 às 19:41, Luís Fernando escreveu: > @salada = /\"(.*?)\"/g; #não testado Com certeza.... como você está usando a regexp no contexto de uma lista ele vai fazer todas as iterações na regexp... From daniel em ruoso.com Fri Jun 25 17:47:49 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string In-Reply-To: <1797624646.20040625193733@grad.icmc.usp.br> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <362300450.20040624194105@grad.icmc.usp.br> <1088187204.12494.41.camel@cedro> <1797624646.20040625193733@grad.icmc.usp.br> Message-ID: <1088203669.12500.46.camel@cedro> Em Sex, 2004-06-25 às 19:37, Luís Fernando escreveu: > que tal assim, Daniel? > c:\>perl ihhhhh.... seria melhor se fosse ruoso@cedro:~$ perl :) :) :) > $a="teste \"aspas1\", sem aspas, \"com aspas2\" sem\naspas \"com\naspas\" e sem aspas novamente."; > @b = $a =~ /\"(.*?)\"/gs; #agora sim, testado > print @b; Da mesma forma, o contexto é propagado para a aplicação da regexp.... From gabriel em webclube.com Sat Jun 26 10:49:00 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] SMS com Perl References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote><1088111070.1417.7.camel@cedro> <40DC2BAE.4030703@yahoo.com.br><35783.200.179.66.230.1088172288.webmaildim@200.179.66.230><47489.200.179.66.230.1088184033.webmaildim@200.179.66.230> <40DC760F.543D@pucrs.br> Message-ID: <003d01c45b95$1dead340$ad57a8c0@fortalnet.com.br> Olá Amigos, pesquisei 'arduamente' sobre o tema umas 3 ou 4 vezes... Seria bom se amigos como o Mago (por trabalhar em empresa do ramo), ou alguém entendido do assunto, explica-se como é o funcionamento do SMS. A conclusão que obtive é que não há como efetuar o envio de SMS não é possível a partir de outro que não seja um próprio celular, ainda estou com dúvidas a respeito. Não encontrei 1 único sistema onde a funcionalidade não fosse enviar através de um site onde há uma interface web, como o feito pelo amigo Flavio, ou onde ele enviasse através de um aparelho celular. Não sei se estou sendo claro ao expressar oq tenho em mente :P mas é bem por aí rsrs Não há a possibilidade de se efetuar o envio a partir de um sistema próprio? Onde eu não dependeria do sistema de outros... via SOCKET ou sei lá o que? :) Pois é isso.. Grande abraços, Gabriel Vieira ----- Original Message ----- From: "Flavio S. Glock" To: "Cascavel Perl Mongers" Sent: Friday, June 25, 2004 3:59 PM Subject: Re: [Cascavel-pm] SMS com Perl > vivan@dim.fm.usp.br wrote: > > Existe alguma forma de enviar SMS atraves do Perl? Tipo... Digamos o > > seguinte... Eu recebo um email aki da lista. Ae, o email chegando no > > servidor faz com que ele (o servidor) envie um Short Message (SMS) para > > meu celu, me avisando. Eh possivel fazer isso em Perl? > > > > Ou uma coisa mais simples... Quero somente enviar um SMS atraves de meu > > script. Como faco? Existe alguma biblioteca para isso? O q eu preciso ter > > para conseguir esta facanha? > > Adriano: > > Você pode acessar a interface web da companhia de celular. > Praticamente todas têm um endereço web que pode enviar SMS. > > Dê uma olhada neste endereço para ver alguns exemplos de implementação: > http://search.cpan.org/search?query=SMS > > Eu implementei o SMS para a Telefônica e Claro há um tempo atrás, > mas os endereços web já estão desatualizados e o programa não > funciona mais :( > > - Flavio S. Glock > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From shonorio em terra.com.br Sat Jun 26 12:37:51 2004 From: shonorio em terra.com.br (Solli Moreria Honorio) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] =?iso-8859-1?q?Voc=EA_sabia_=3F_Eu_n=E3o_!!?= Message-ID: <000001c45ba4$4e0f5b90$32cbcfc8@eraser> Pessoal, Chavurdando pelo perlmonks eu descobri que o camelo, simbolo do Perl, é posse (trademark) do O’Reilly ! Vocês sabiam disto ???? Mais informações podem ser encontrada nos links: http://dev.perl.org/perl6/rfc/343.html http://perl.oreilly.com/usage/ http://www.perlmonks.com/index.pl?node=New%20mascot%20for%20Perl Então não esqueça de pedir permissão à O’Reilly antes de colocar o camelo no seu site !!! Solli -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040626/d76639b5/attachment.htm From fglock em pucrs.br Sat Jun 26 16:56:55 2004 From: fglock em pucrs.br (fglock@pucrs.br) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Você sabia ? Eu não !! Message-ID: <200406262154.i5QLsWet067910@rigel.pucrs.br> Solli escreveu: > Chavurdando pelo perlmonks eu descobri que o > camelo, simbolo do Perl, é posse (trademark) do > O’Reilly ! É verdade. Mas o site pm.org tem licença de uso, então não tem problema :) Se alguém puder inventar um símbolo para o Brasil-PM, eu acho que seria excelente. Mas falando no assunto, eu estou em conversa com o pessoal da O'Reilly para nos ajudar com apoio para o encontro de outubro, no Rio. Por enquanto, eu tenho a resposta do Larry Wall de que ele vai estar na europa durante a maior parte de outubro, então ele não virá. Ainda existe a possibilidade de conseguirmos algum palestrante estrangeiro, através do apoio da O'Reilly ou de um patrocinador que o Marco Lima está negociando. - Flavio S. Glock From glasswalk3r em yahoo.com.br Sun Jun 27 21:34:45 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] SMS com Perl In-Reply-To: <003d01c45b95$1dead340$ad57a8c0@fortalnet.com.br> References: <007501c45990$56e000a0$daf7fea9@laffit> <00d301c45a14$60b66b30$0202a8c0@DexterNote> <1088111070.1417.7.camel@cedro> <40DC2BAE.4030703@yahoo.com.br> <35783.200.179.66.230.1088172288.webmaildim@200.179.66.230> <47489.200.179.66.230.1088184033.webmaildim@200.179.66.230> <40DC760F.543D@pucrs.br> <003d01c45b95$1dead340$ad57a8c0@fortalnet.com.br> Message-ID: <20040627233445.685bea2e@valhalla.localdomain> On Sat, 26 Jun 2004 12:49:00 -0300 "Gabriel Vieira" wrote: > Não encontrei 1 único sistema onde a funcionalidade não fosse enviar > através de um site onde há uma interface web, como o feito pelo amigo > Flavio, ou onde ele enviasse através de um aparelho celular. Apesar de não ser uma solução boa (visto que o website pode mudar sua cara a qualquer momento e você perde a funcionalidade), talvez essa seja a solução mais óbvia mesmo. > Não há a possibilidade de se efetuar o envio a partir de um sistema > próprio? Onde eu não dependeria do sistema de outros... via SOCKET ou > sei lá o que?:) Acho pouco provável... você teria que estar dentro da rede da operadora do celular... é por isso que você só consegue fazer via outro celular (pertencente à operadora) ou via servidor web (deles). Talvez a operadora ofereça um acesso mais simplificado para você fazer isso, mas com certeza não deve ser um serviço gratuito. []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From glasswalk3r em yahoo.com.br Sun Jun 27 22:47:21 2004 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] =?iso-8859-1?q?c=F3digo?= Perl =?iso-8859-1?q?=E9?= realmente =?iso-8859-1?q?dif=EDcil?= de ler? Message-ID: <20040628004721.679aee8d@valhalla.localdomain> Eu recebi um email recentemente de um amigo, e um trecho em específico me chamou a atenção: > Estou lendo um livro para iniciante, básico em todo começo de > programação... hehehe > e achei um comentário muito mafadonho sobre o Perl e gostaria de > prestigia-lo... :^P > > "Apesar de ser um linguagem fantástica e muito poderosa, um código > Perl é parecido mais ou menos com o seguinte: feche os olhos e bata as > mãos no teclado, o q aparecer na tela, muito provavelmente será > executado, se você mandar o Perl fazer isso." BONIFÁCIO JR, J. M. ASP > .NET Fundamentos para o desenvolvimento de aplicações Web em > plataforma .NET. São Paulo, Berkely, 2001. p. 9-10 > > E depois ele coloca... isso é um exemplo de quão complexa é a > linguagem... ou o cara q num conseguiu aprender ou está fazendo a > caveira de Perl... Eu concordo que Perl pode ter um código difícil de ler... mas qualquer linguagem de programação, que não se importe com espaços, também pode! Isso depende muito mais do programador... se ele não usa comentários, não usa nome de variavéis decentes, não usa identação... qualquer um terá trabalho para ler o código que ele criou. A única exceção que conheço para isso é Python, que obriga você a usar identação para estruturas como if-then-else. Mas como Perl adota a filosofia de livre pensamento... me parece justo que permita se fazer ou não essas coisas. O problema é que muitos programadores experientes, que não manjem de Perl e se depararam com algum código mal escrito, tem a mesma impressão. Talvez devessemos publicar algo no site do Cascavel.pm desmisticando isso e depois divulgar a informação. O que acham? []'s -- Alceu Rodrigues de Freitas Junior -- glasswalk3r@yahoo.com.br PGP public key at http://www.imortais.cjb.net/addgb.html --------------------------------------------------------------- He who knows others is wise. He who knows himself is enlightened. -- Lao Tsu From vander em ufpa.br Mon Jun 28 00:19:39 2004 From: vander em ufpa.br (vander@ufpa.br) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] =?iso-8859-1?b?Y/NkaWdv?= Perl =?iso-8859-1?b?6Q==?= realmente =?iso-8859-1?b?ZGlm7WNpbA==?= de ler? Message-ID: <1088399979.a36207bea45fc@correio.ufpa.br> Olá, sou novo na lista, mas já trabalho com Perl há uns 4 anos... Trabalho com Bioinformática e Perl apresenta uma série de características que me fizeram opinar por essa linguagem... Tenho meus comentários a fazer a respeito do trecho do livro referido pelo colega... Acho que todo programador já deve ter degladiado com outro programador para defender sua "linguagem do coração". Para mim a melhor linguagem é aquela que melhor resolve seu problema específico. Além disso, não se pode condenar uma linguagem ou outra sem antes ter certa experiência na mesma, ou seja, não fale mal antes de experimentar... Hoje se vê por ai uma "febre pró-Java", como se Java fizesse coisas que nenhuma outra linguagem no mundo faz. Mentira, Perl é multiplataforma, livre, e implementa muitos conceitos de OO... Só não dá pra desenvolver software para liquidificador, ventilador, geladeira... mas também, ninguém é perfeito... Mais um detalhe, Perl só não é mais difundido pq não é tão divulgado como Java... Falta mais empenho em um marketing para que os Gerentes de Desenvolvimento tenham conhecimento do potencial da linguagem... Alguém pode dizer que Perl só serve para fazer scripts... esse alguém com certeza não leu muita coisa sobre a linguagem... Eu desenvolvo diversas aplicações desktop usando Perl-Tk que ficam excelentes... Só mais um detalhe... Eu poderia ouvir/ler críticas de um programador de qualquer linguagem/framework, mas de alguém que usa .NET/ASP? Comecemos pelo custo disso? Quanto custa programar em PERL? Sem mais comentários... Gostei da idéia de divulgar um material para desmistificar esse mito de que PERL é complexo demais para se entender... []'s Vanderson Sampaio ________________________________________ Biólogo - Especialista em Bioinformática/LNCC Mestrando em Genética/UFPa www.lpdna.ufpa.br ----- Original Message ----- From: "Alceu Rodrigues de Freitas Junior" To: "Cascavel Lista Perl" Sent: Monday, June 28, 2004 12:47 AM Subject: [Cascavel-pm] código Perl é realmente difícil de ler? > Eu recebi um email recentemente de um amigo, e um trecho em específico > me chamou a atenção: > > > Estou lendo um livro para iniciante, básico em todo começo de > > programação... hehehe > > e achei um comentário muito mafadonho sobre o Perl e gostaria de > > prestigia-lo... :^P > > > > "Apesar de ser um linguagem fantástica e muito poderosa, um código > > Perl é parecido mais ou menos com o seguinte: feche os olhos e bata as > > mãos no teclado, o q aparecer na tela, muito provavelmente será > > executado, se você mandar o Perl fazer isso." BONIFÁCIO JR, J. M. ASP > > .NET Fundamentos para o desenvolvimento de aplicações Web em > > plataforma .NET. São Paulo, Berkely, 2001. p. 9-10 > > > > E depois ele coloca... isso é um exemplo de quão complexa é a > > linguagem... ou o cara q num conseguiu aprender ou está fazendo a > > caveira de Perl... > > Eu concordo que Perl pode ter um código difícil de ler... mas qualquer > linguagem de programação, que não se importe com espaços, também pode! > > Isso depende muito mais do programador... se ele não usa comentários, > não usa nome de variavéis decentes, não usa identação... qualquer um > terá trabalho para ler o código que ele criou. > > A única exceção que conheço para isso é Python, que obriga você a usar > identação para estruturas como if-then-else. Mas como Perl adota a > filosofia de livre pensamento... me parece justo que permita se > fazer ou não essas coisas. > > O problema é que muitos programadores experientes, que não manjem de > Perl e se depararam com algum código mal escrito, tem a mesma > impressão. Talvez devessemos publicar algo no site do Cascavel.pm > desmisticando isso e depois divulgar a informação. O que acham? > > []'s > > > -- > Alceu Rodrigues de Freitas Junior > -- > glasswalk3r@yahoo.com.br > PGP public key at http://www.imortais.cjb.net/addgb.html > --------------------------------------------------------------- > He who knows others is wise. > He who knows himself is enlightened. > -- Lao Tsu > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > ---------------------------------------------------------- Esta mensagem foi enviada pelo site http://Correio.UFPA.BR From monsieur_champs em yahoo.com.br Mon Jun 28 07:39:49 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] [Fwd: Re: SaoPaulo.pm ownership change] Message-ID: <40E01195.9060404@yahoo.com.br> > -------- Original Message -------- > Date: Sun, 27 Jun 2004 10:47:54 +0100 > From: Dave Cross > To: Sergio Salvi > Cc: Luis Campos > Subject: Re: SaoPaulo.pm ownership change > > On Wed, Jun 23, 2004 at 08:44:53PM -0500, Sergio Salvi wrote: >> Hi there! >> >> Can you please do the required procedures to change the ownership of >> SaoPaulo.pm group to Luis Campos? He's being copied on this email and >> will take the ownership of this (until now) sleeping group. > > Sergio, > > I've made the changes. Luis is now listed as leader of SaoPaulo.pm. > >> What should I do? Just change my password and give it away to him? > > You should have a password for the web site and another for the mailing > list. Please just pass them both on to Luis. If you don't remember them, > then please email tech@pm.org asking for new ones. > > Dave... > > -- > We are far too young and clever > > Ou, em bom português: O Dave Cross acabou de realizar as alterações necessárias para que eu seja listado como o líder do São Paulo Perl Mongers. :-) Meu primeiro "ato" como líder é anunciar que eu vou ficar no cargo por preferencialmente 1 ano, e no máximo dois. Por isso, SP-PM'ers, organizai-vos! Alguém tem de assumir o posto em breve! :-) Nélson, eu ainda não tenho senhas, mas gostaria que o website fosse governado por um TWiki, será que você tem um na manga? Precisamos também de um voluntário para web-designer, e sugestões para o logo. Claro, podemos usar o Camelo, mas todos os grupos de Perl Monks no mundo todo usam o animal... poderíamos pensar em um apenas para nós. Bom, acho que agora resta esperar pelas senhas. Putamplexos, senhores, e alegrai-vos comigo! ;o) -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From pmpoa em galvao.eti.br Mon Jun 28 04:32:22 2004 From: pmpoa em galvao.eti.br (=?ISO-8859-1?Q?Er_Galv=E3o_Abbott_-_PM_Porto_Alegre?=) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] =?ISO-8859-1?Q?c=F3digo_Perl_=E9_realmen?= =?ISO-8859-1?Q?te_dif=EDcil_de_ler=3F?= In-Reply-To: <20040628004721.679aee8d@valhalla.localdomain> References: <20040628004721.679aee8d@valhalla.localdomain> Message-ID: <40DFE5A6.7030203@galvao.eti.br> Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040628/33d89912/attachment.htm From monsieur_champs em yahoo.com.br Mon Jun 28 08:08:21 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] =?ISO-8859-1?Q?c=F3digo_Perl_=E9_realmen?= =?ISO-8859-1?Q?te_dif=EDcil_de_ler=3F?= In-Reply-To: <20040628004721.679aee8d@valhalla.localdomain> References: <20040628004721.679aee8d@valhalla.localdomain> Message-ID: <40E01845.8010906@yahoo.com.br> Alceu Rodrigues de Freitas Junior wrote: [citação:] >>"Apesar de ser um linguagem fantástica e muito poderosa, um código >>Perl é parecido mais ou menos com o seguinte: feche os olhos e bata as >>mãos no teclado, o q aparecer na tela, muito provavelmente será >>executado, se você mandar o Perl fazer isso." BONIFÁCIO JR, J. M. ASP >>.NET Fundamentos para o desenvolvimento de aplicações Web em >>plataforma .NET. São Paulo, Berkely, 2001. p. 9-10 >> >>E depois ele coloca... isso é um exemplo de quão complexa é a >>linguagem... ou o cara q num conseguiu aprender ou está fazendo a >>caveira de Perl... > > > Eu concordo que Perl pode ter um código difícil de ler... mas qualquer > linguagem de programação, que não se importe com espaços, também pode! > Eu não concordo com isso! Podemos otimizar um programa para várias coisas, até para ser legível (R. Schwartz, "Learning Perl"; L. Wall, "Programming Perl", 3a ed.). > > Isso depende muito mais do programador... se ele não usa comentários, > não usa nome de variavéis decentes, não usa identação... qualquer um > terá trabalho para ler o código que ele criou. > Bom, nesse caso, ASP pode ser anda pior... normalmente, os carinhas que programam ASP (salvo excessões, certo, Solli?) não são muito cuidadosos com esse tipo de detalhe... > > A única exceção que conheço para isso é Python, que obriga você a usar > identação para estruturas como if-then-else. Mas como Perl adota a > filosofia de livre pensamento... me parece justo que permita se > fazer ou não essas coisas. > Hum. Isso não pode de forma alguma ser considerado uma desvantagem do Python. Mas poderia ser sugerido para o Parrot... :-) talvez, como um switch ou pragma da linguagem. "use syntaticalIndentation;". > > O problema é que muitos programadores experientes, que não manjem de > Perl e se depararam com algum código mal escrito, tem a mesma > impressão. Talvez devessemos publicar algo no site do Cascavel.pm > desmisticando isso e depois divulgar a informação. O que acham? > Lamento, mas novamente sou obrigado a discordar de você. Programas "mal-escritos", depois de um certo tempo de aprendizado de Perl, podem se tornar extremamente plásticos. Eles acabam se tornando uma espécie de arte. Claro, você sempre deve se lembrar que quando Machado de Assis escreve errado, é aclamado como "gênio neologista". Quando o carinha da terceira série do primário escreve errado, além de nota baixa ainda é rotulado como "burro" ou coisa pior. Em outras palavras, a intenção pré-declarada de se expressar errôneamente é considerada arte. Inclusive no mundo Perl. Não acredita? Leia: http://www.perlmonks.org/index.pl?node_id=1597 http://www.perlmonks.org/index.pl?node_id=1590 E divirta-se, mantendo em mente que até mesmo um mictório, quando exposto como arte pop, perde sua funcionalidade original, se tornando arte... ;-) Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From monsieur_champs em yahoo.com.br Mon Jun 28 08:40:24 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] =?ISO-8859-1?Q?c=F3digo_Perl_=E9_realmen?= =?ISO-8859-1?Q?te_dif=EDcil_de_ler=3F?= In-Reply-To: <40DFE5A6.7030203@galvao.eti.br> References: <20040628004721.679aee8d@valhalla.localdomain> <40DFE5A6.7030203@galvao.eti.br> Message-ID: <40E01FC8.9040502@yahoo.com.br> Er Galvão Abbott - PM Porto Alegre wrote: > Concordo, Alceu. > > Acho que todos por aqui já passaram pelo horror de ter que fazer > implementações em cima de um código mal-escrito feito por outro > programador. Eu já vi muita coisa em PHP por exemplo que eram > verdadeiros pesadelos. Nem acho que a linguagem seja relevante. Existem maus falantes em todas as linguas, e maus programadores em todas as linguagens. > O único problema do Perl em relação à "dificuldade de leitura" é o > pragma TMTOWTDI.... Eu já vi trechos de Perl com "formas alternativas" > de se alcançar um objetivo que me fizeram ficar de cabelo em pé... > Existem maneiras de se fazer as coisas em que, por mais que se ganhe em > performance ou tamanho de código-fonte se prejudica a legibilidade de > forma assustadora. Eu discordo. Eu vejo isso como uma das coisas mais bonitas da linguagem. Temos muitas formas de fazer uma coisa, e alguns "idiomas" ou "dialetos" mais comuns... > O PerlMonks está cheio de exemplos do que exponho aqui. Por isso que eu > tenho a polêmica opinião de que o TMTOWTDI às vezes pode ser uma > característica muito ruim do Perl. Se você olhar sob o prisma da didática, eu concordo com você em gênero, número e grau... não acho sua opinião polêmica, sob este aspecto. Claro, na vida profissional, ter mais de uma forma de resolver um problema (leia-se: mais de uma forma de exergar ou modelar um problema) é uma vantagem competitiva importante, IMHO. > Acho legal a idéia de se publicar um código no site para desmistificar a > linguagem, mas acho que pelo menos devemos levar em conta 3 coisas: > > 1) Publicar um exemplo de código "sério", algo que não seja um "Hello > World!" da vida hehehe > 2) Se possível publicar um código que não utilize módulos, para > apresentar somente a linguagem. > 3) Usar um código que seja o mais universal possível (que seja > facilmente compreendido por um programador de outra linguagem), sem usar > muito o TMTOWTDI ;) > Eu concordo com o Galvão em tudo. E acrescento: podemos documentar o fonte o suficiente para que qualquer programador possa entender facilmente até mesmo coisas que são muito mais idiomas perl do que de outras linguagens... Fomentando... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From nferraz em phperl.com Mon Jun 28 11:27:34 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] [Fwd: Re: SaoPaulo.pm ownership change] In-Reply-To: <40E01195.9060404@yahoo.com.br> References: <40E01195.9060404@yahoo.com.br> Message-ID: <40E046F6.4080508@phperl.com> Luis Campos de Carvalho wrote: > Ou, em bom português: O Dave Cross acabou de realizar as alterações > necessárias para que eu seja listado como o líder do São Paulo Perl > Mongers. :-) > > Meu primeiro "ato" como líder é anunciar que eu vou ficar no cargo por > preferencialmente 1 ano, e no máximo dois. Por isso, SP-PM'ers, > organizai-vos! Alguém tem de assumir o posto em breve! :-) Existe a possibilidade de reeleição? :) > Nélson, eu ainda não tenho senhas, mas gostaria que o website fosse > governado por um TWiki, será que você tem um na manga? A instalação do TWiki é bem rápida. Me avise quando você tiver as senhas! []s Nelson From shonorio em terra.com.br Mon Jun 28 12:53:04 2004 From: shonorio em terra.com.br (Solli Moreira Honorio) Date: Mon Aug 2 21:27:07 2004 Subject: =?iso-8859-1?b?UmU6IFtDYXNjYXZlbC1wbV0gY/NkaWdvIFBlcmwg6SByZWFsbWVudGUg?= =?iso-8859-1?b?ZGlm7WNpbCBkZSBsZXI/?= Message-ID: Primeiro eu acho que o cara não deveria colocar este tipo de comentário no livro, isto mostra falta de argumentos... e isto pode significar que o resto do livro também esteja faltando vários argumentos para a própria linguagem. > > O único problema do Perl em relação à "dificuldade de leitura" é o > > pragma TMTOWTDI.... Eu já vi trechos de Perl com "formas alternativas" > > de se alcançar um objetivo que me fizeram ficar de cabelo em pé... > > Existem maneiras de se fazer as coisas em que, por mais que se ganhe em > > performance ou tamanho de código-fonte se prejudica a legibilidade de > > forma assustadora. > Eu acho o TMTOWTDI eletista e excludente, só se o cara estiver muito afim de entender alguma coisa para se dedicar à aquilo. Tenho exemplo de alguns módulo no qual eu estou interagindo, normalmente os módulo fazem quase tudo.... quase tudo... Tenho todo o amor para incrementar a necessidade e passar o módulo para o público, mas o cara escreveu o cara de uma maneira de eu preciso passar um tempão entendendo o que aquilo quer dizer. Isto prova que o cara é fera em Perl, mas e daí ??? Esta dificultando a vida de outros que poderiam pegar dali para frente.... Quanto a qualidade dos programadores... eu acho que vocês estão esquecendo que Perl é uma linguagem 'eletista' no Brasil, e no mundo. A maioria é autoditata no assunto, são apaixonados pela linguagem, e utilizam bastante as comunidades para isto. Tenho isto pelas próprias comunidades de Perl no qual eu participo, temos vários 'manés', como eu por exemplo, querendo virar 'saint'. O mesmo não ocorre com as linguagens comerciais, e ou dá moda. É comum encontrarmos 'manés' que não estão nem aí para isto, não gostam do que fazem, não tem vontade e nem habilitada de desenvolver-se no melhor da liguagem... aí meu amigo o negócio não funciona mesmo... neste cenário até Perl vira uma ..... Uma coisa é usar mau a linguagem porque quer ou é necessário (talvez a modelagem do problema tem limitações que o obriga a isto), outra porque você nem sabe disto.... O que é a maioria dos programadores !!!!! Solli -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040628/078fdfdf/attachment.htm From shonorio em terra.com.br Mon Jun 28 13:14:25 2004 From: shonorio em terra.com.br (Solli Moreira Honorio) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Mais uma pergunta idiota de REGEX !!! Message-ID: Antes das perguntas idiotas... como foi o encontro... beberam muita cerveja ? Desda fez a mulher não me liberou e disse mais... só estarei livre depois que terminar a reforma do apartamento... ela não compreende que antes de programar temos um longo período de análise :-) ... ela acho que estou ludibriando-a !! Pessoal, Eu posso dizer que $Valor =~ /^$procurado$/ é o mesmo que $Valor == $procurado ? Se sim, porque o pessoal utiliza isto ? Obrigado... e não precisam jogar tomate e nem ovos !!! Solli -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040628/4a3a40af/attachment.htm From falmp em terra.com.br Mon Jun 28 13:54:37 2004 From: falmp em terra.com.br (Francisco Lopes) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Mais uma pergunta idiota de REGEX !!! In-Reply-To: References: Message-ID: <1822199030.20040628155437@terra.com.br> Solli, No caso, acho que seria $valor eq $procurado. Eu particularmente nunca usei este método de comparação em regexp, pelo menos não desta maneira. Quando o faço, coloco o i no final para a busca ser insensitive: $valor =~ /^$procurado$/i Se tem alguma diferença, espero ouvir dos outros monges. ;) Abraço. Francisco Monday, June 28, 2004, 3:14:25 PM, you wrote: > Pessoal, >   > Eu posso dizer que $Valor =~ /^$procurado$/ é o mesmo que $Valor > == $procurado ? Se sim, porque o pessoal utiliza isto ? >   > Obrigado... e não precisam jogar tomate e nem ovos !!! >   > Solli From monsieur_champs em yahoo.com.br Mon Jun 28 13:50:37 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Mais uma pergunta idiota de REGEX !!! References: Message-ID: <40E0687D.5070400@yahoo.com.br> Solli Moreira Honorio wrote: > Antes das perguntas idiotas... como foi o encontro... beberam muita > cerveja ? Desda fez a mulher não me liberou e disse mais... só estarei > livre depois que terminar a reforma do apartamento... ela não compreende > que antes de programar temos um longo período de análise :-) ... ela > acho que estou ludibriando-a !! Bom, eu lamento muito que a sua mulher ache isso... :-) Mas tenha paciência... com o tempo, ela vai ver que você tem realmente de fazer muita análise antes de implementar... :-) Sobre o encontro, foi mais ou menos como sempre: bebemos umas duas ou três 'brejas cada, acho que o Alceu descobriu que para gostar de cerveja é necessário saber apreciar as coisas *amargas* da vida... A novidade mais interessante foi conversar com o gerente do O'Malleys, um holandês naturalizado brasileiro (ou era o contrário?) chamado Marcel. Ele se interessou em conceder aos Monges uma mesa "cativa" todo último sábado do mês... estou para telefonar para ele e conversar mais sobre o assunto. :-) Gostaria de saber o que os Monges acham deste tipo de patrocínio, mas é sério pessoal... a gente pode acabar usando camisas com o logo do Perl em uma manga e o logo do O'Malleys na outra... e isso pode ser bom ou ruim para a nossa imagem. Por favor pesem bem vossas respostas. > Pessoal, > > Eu posso dizer que $Valor =~ /^$procurado$/ é o mesmo que $Valor == > $procurado ? Se sim, porque o pessoal utiliza isto ? Não pode dizer isso. $Valor =~ /^$procurado/ pode ser *true* em casos como #!/usr/bin/perl $Valor = 'Fred Flintstone'; $procurado = 'Fred'; if( $Valor =~ /^$procurado/ ){ print "Regexp vale\n!"; } if( $Valor == $procurado ){ print "Igualdade numérica vale!\n"; } __END__ E não preciso me explicar muito para que o pessoal entenda que 'Fred Flintstone' não é numericamente igual a 'Fred'. Mas a expressão regular '^Fred' certamente encontra o que busca em 'Fred Flintstone'. Se você quer comparar strings, use 'eq' (igualdade alfanumérica) ou 'cmp' (comparação alfanumérica). Se você quer comparar números use '==' (igualdade numérica) ou '<=>' (comparação numérica). Expressões regulares tem efeitos nem sempre simples de se vislumbrar e são certamente muito dispendiosas (em termos de recursos) para se usar em testes lógicos simples. Espero que isso sane completamente suas dúvidas... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From nferraz em phperl.com Mon Jun 28 14:32:46 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] =?ISO-8859-1?Q?c=F3digo_Perl_=E9_realmen?= =?ISO-8859-1?Q?te_dif=EDcil_de_ler=3F?= In-Reply-To: References: Message-ID: <40E0725E.8060103@phperl.com> Solli Moreira Honorio wrote: > Eu acho o TMTOWTDI eletista e excludente, só se o cara estiver muito > afim de entender alguma coisa para se dedicar à aquilo. Só porque a linguagem não foi projetada para ser simples, não significa que seja elitista ou excludente. "Perl was never designed to be perfect. It was designed to evolve, to become more adaptive, as they say. There is no such thing as a perfect organism, biologically speaking. About the most you can say is an organism is more or less suited for the environment in which it finds itself. In fact, biologists are just now realizing that any organism which seems to be ``perfect'' for one environment is likely to be in danger of extinction as soon as the environment changes. Over- specialization is only as good as your ecological niche." -- Larry Wall. []s Nelson From nferraz em phperl.com Mon Jun 28 14:53:52 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Mais uma pergunta idiota de REGEX !!! In-Reply-To: References: Message-ID: <40E07750.7080409@phperl.com> Solli Moreira Honorio wrote: > Eu posso dizer que $Valor =~ /^$procurado$/ é o mesmo que $Valor == > $procurado ? Se sim, porque o pessoal utiliza isto ? Como já foi apontado pelo Luis e pelo Francisco, você deve usar "eq" para comparar strings. Os dois já deram algumas razões pelas quais alguém poderia optar por uma expressão regular. Aqui vai mais uma: expressões regulares são úteis para "limpar" variáveis marcadas como "tainted": if ($valor =~ /^($procurado)$/) { my $untainted = $1; # ... } Para maiores informações sobre o "taint mode": http://www.perldoc.com/perl5.8.0/pod/perlsec.html []s Nelson From daniel em ruoso.com Mon Jun 28 14:42:53 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Site www.perl.org Message-ID: <1088451773.2599.26.camel@cedro> Pessoal, eu vi que o site estava no ar e tomei a liberdade de começar a editar o conteúdo (afinal, é um wiki)... dêem uma olhada, alterem o que quiserem... Inclusive na seção "Sobre Perl", abri um espaço para discussões sobre o thread que a gente está tendo do TMTWTDI.... []'s daniel From fglock em pucrs.br Mon Jun 28 15:07:19 2004 From: fglock em pucrs.br (Flavio S. Glock) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Site www.perl.org References: <1088451773.2599.26.camel@cedro> Message-ID: <40E07A77.4292@pucrs.br> Daniel Ruoso wrote: > > eu vi que o site estava no ar e tomei a liberdade de começar a editar o > conteúdo (afinal, é um wiki)... dêem uma olhada, alterem o que > quiserem... Eu acho interessante saber quem escreveu cada página, o(s) autor(es) poderiam colocar o nome embaixo (o wiki faz isso sozinho?) O que vocês acham? - Flavio S. Glock From daniel em ruoso.com Mon Jun 28 15:36:35 2004 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Site www.perl.org In-Reply-To: <40E07A77.4292@pucrs.br> References: <1088451773.2599.26.camel@cedro> <40E07A77.4292@pucrs.br> Message-ID: <1088454995.2602.28.camel@cedro> Em Seg, 2004-06-28 às 17:07, Flavio S. Glock escreveu: > Eu acho interessante saber quem escreveu cada página, > o(s) autor(es) poderiam colocar o nome embaixo (o wiki faz isso > sozinho?) > > O que vocês acham? Acho que o wiki faz isso sozinho... em último caso tem as versões da página... From shonorio em terra.com.br Mon Jun 28 20:58:27 2004 From: shonorio em terra.com.br (Solli Moreria Honorio) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Mais uma pergunta idiota de REGEX !!! In-Reply-To: <40E0687D.5070400@yahoo.com.br> Message-ID: <000001c45d7c$91b56a90$32cbcfc8@eraser> > > Gostaria de saber o que os Monges acham deste tipo de patrocínio, mas >é sério pessoal... a gente pode acabar usando camisas com o logo do Perl >em uma manga e o logo do O'Malleys na outra... e isso pode ser bom ou >ruim para a nossa imagem. Por favor pesem bem vossas respostas. Pelos menos poderemos ser conhecido como bons de copo :-) > Se você quer comparar strings, use 'eq' (igualdade alfanumérica) ou >'cmp' (comparação alfanumérica). Se você quer comparar números use '==' >(igualdade numérica) ou '<=>' (comparação numérica). O '==' foi um deslize porque eu estou trabalhando bastante com outra linguagem que não faz esta distinção, mas é claro que sei a diferença entre '==' e 'eq' > Não pode dizer isso. $Valor =~ /^$procurado/ pode ser *true* em casos >como A minha dúvida é quando eu uso o '^' e o '$' entre o valor desejado, na minha leitura isto siginfica exatamente o valor, e ai qual seria a vantagem de utilizar expressões regulares. #!/usr/bin/perl $Valor = 'Fred Flintstone'; $procurado = 'Fred'; if( $Valor =~ /^$procurado/ ) # Imprime { print "Regexp vale!!!\n"; } if( $Valor =~ /^$procurado$/ ) # Não imprime { print "Regexp vale\n!"; } if( $Valor eq $procurado ) # e não imprime { print "É igual !!!\n"; } <\code> Utilizando o seu exemplo, eu concluo que a minha leitura está correta (coisa rara hein !!), mas mesmos assim não consiguo compreender porque o cara utiliza expressão regular para isto, você mesmo disse em um email passado sobre as melhores prática em Perl para não utilizar expressões regulares sem necessidades. > Expressões regulares tem efeitos nem sempre simples de se vislumbrar >e são certamente muito dispendiosas (em termos de recursos) para se usar >em testes lógicos simples. Estou perguntando isto porque tenho visto este tipo de expressão em muitos códigos de sistemas 'famosos' em Perl, como o 'SpamAssassin' e alguns outros no qual estou trabalhando. Isto pode significar um mau uso da lingaguem ? > Espero que isso sane completamente suas dúvidas... Ainda não... mas estou ancioso para isto !!! From shonorio em terra.com.br Mon Jun 28 21:03:56 2004 From: shonorio em terra.com.br (Solli Moreria Honorio) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Mais uma pergunta idiota de REGEX !!! In-Reply-To: <40E07750.7080409@phperl.com> Message-ID: <000101c45d7d$55e8ecc0$32cbcfc8@eraser> >Os dois já deram algumas razões pelas quais alguém poderia optar por uma >expressão regular. Sim, mas a minha dúvida não é porque utilizar expressão regular, a minha dúvida é porque utilizar um tipo de expressão, mas precisamente a expressão : /^$Valor$/, ou seja (na minha leitura), eu quero o valor exato, em detrimento de simplestemente o 'eq'. >Aqui vai mais uma: expressões regulares são úteis para "limpar" >variáveis marcadas como "tainted": > >if ($valor =~ /^($procurado)$/) { > my $untainted = $1; > # ... >} Você deu um exemplo no qual não tinha pensado, mas infelizmente este não tem sido a utilização que eu tenho visto nos código por aí. From monsieur_champs em yahoo.com.br Tue Jun 29 07:57:00 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Mais uma pergunta idiota de REGEX !!! In-Reply-To: <000001c45d7c$91b56a90$32cbcfc8@eraser> References: <000001c45d7c$91b56a90$32cbcfc8@eraser> Message-ID: <40E1671C.40307@yahoo.com.br> Solli Moreria Honorio wrote: [Patrocínio O'Malleys] > Pelos menos poderemos ser conhecido como bons de copo :-) Não sei se posso dizer que isso é uma vantagem... > A minha dúvida é quando eu uso o '^' e o '$' entre o valor desejado, na > minha leitura isto siginfica exatamente o valor, e ai qual seria a > vantagem de utilizar expressões regulares. O caracter '^' (quando usado fora de grupos de caracteres '[...]') funciona como uma "âncora" para o início da linha. Ele permite que a expressão regular tenha sucesso apenas quando não houver caracteres à esquerda do '^'. Isto pode ser alterado levemente com a opção '/m'. O caracter '$' (quando for o caracter mais à direita da expressão regular) funciona como "âncora" para o final da linha. Ele permite que a expressão regular tenha sucesso apenas quando não houver caracteres à direita do '$'. Isto pode ser alterado levemente com a opção '/m'. Exemplo: /^Fred/ bate com "Fred Flintstone". Mas /Fred$/ não bate. /^Vilma Flintstone$/ bate com "Vilma Flintstone", mas não bate com "Fred e Vilma Flintstone" (você pode me dizer por quê?). > Utilizando o seu exemplo, eu concluo que a minha leitura está correta > (coisa rara hein !!), mas mesmos assim não consiguo compreender porque o > cara utiliza expressão regular para isto, você mesmo disse em um email > passado sobre as melhores prática em Perl para não utilizar expressões > regulares sem necessidades. Várias: A) O fato de ser considerado "boa prática" não implica que todos os autores de módulos fazem isto. B) Expressões regulares podem ter muitos efeitos colaterais. Pode ser que suas expressões tenham efeitos colaterais desejáveis. Bom, até aqui aprendemos que podemos ter expressões regulares que batem com uma parte da expressão procurada, e conseqüêntemente se comportam de forma diferente da igualdade simples. Aprendemos também que uma expressão regular "custa mais caro" (em ciclos de processador) do que uma comparação caracter-a-caracter ou que uma comparação numérica. Aprendemos ainda como usar âncoras em expressões regulares para controlar *onde* a expressão pode ser encontrada (começo ou final da linha). > Estou perguntando isto porque tenho visto este tipo de expressão em > muitos códigos de sistemas 'famosos' em Perl, como o 'SpamAssassin' e > alguns outros no qual estou trabalhando. Isto pode significar um mau uso > da lingaguem ? No caso do SpamAssassin, eu gostaria de olhar com mais calma. Não descarto a possibilidade, mas acredito que isto seja indício de uma tentativa de exploração de "efeitos colaterais desejáveis" das expressões regulares. Claro, estes efeitos sempre tem um preço. Por exemplo, as variáveis $`, $& e $' (respectivamente $PREMATCH, $MATCH e $POSTMATCH, se você disser "use English;") são sempre[1] inicializadas depois que uma expressão regular consegue encontrar o que procura: $PREMATCH recebe tudo o que anteceder a expressão regular encontrada, $MATCH recebe o valor encontrado pela expressão regular e $POSTMATCH recebe tudo o que preceder o valor encontrado pela expressão regular. ATENÇÃO: ISTO CUSTA MUITO CARO PARA A MÁQUINA DE EXPRESSÕES REGULARES DO PERL. NÃO USE A NÃO SER QUE VOCÊ TENHA CERTEZA ABSOLUTA QUE ESTA É A ÚNICA MANEIRA DE FAZER ISTO E PELO MENOS DUAS LISTAS DE DISCUSSÃO DE PERL MONKS NÃO TENHAM CONSEGUIDO PROPOR OUTRA SOLUÇÃO. > Ainda não... mas estou ancioso para isto !!! > Solli, se isto não ajudar, vamos ser mais práticos: me envie o código em que você empacou, e eu ajudo a "destrinchar". Depois, se você quiser, podemos continuar conversando sobre expressões regulares... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [1] Isto é mentira, mas "O que você não pode ver não pode atingir você" (Larry Wall). From lemon em grad.icmc.usp.br Tue Jun 29 09:36:15 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] =?iso-8859-1?q?=22prostitui=E7=E3o=22_da_programa?= =?iso-8859-1?q?=E7=E3o?= Message-ID: <1375378622.20040629113615@grad.icmc.usp.br> Pessoal, o que vocês acham de sites como o scriptlance.com ? Antes disso os gringos estavam acostumados a pagar uns US$ 50,00 por scripts bem simples (o que - confesso - era uma certa exploração, mas para eles era um valor razoável). Agora eles colocam lá e algum indiano esfomeado oferece US$ 5,00 ou US$ 10,00 para fazer o programa. /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF From shonorio em terra.com.br Tue Jun 29 10:27:58 2004 From: shonorio em terra.com.br (Solli Moreira Honorio) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Mais uma pergunta idiota de REGEX !!! Message-ID: > Solli Moreria Honorio wrote: > [Patrocínio O'Malleys] > > Pelos menos poderemos ser conhecido como bons de copo :-) > > Não sei se posso dizer que isso é uma vantagem... > Hummm... cadê o seu senso de humor... afinal estamos falando do 'social meeting' e não do 'tech meeting'. Seria legal dar mais uma cara ao encontro, tal como a periodicidade, também teriamos a localização. Quanto a camiseta, porque não ??? > > Várias: > A) O fato de ser considerado "boa prática" não implica que todos os > autores de módulos fazem isto. > B) Expressões regulares podem ter muitos efeitos colaterais. Pode ser > que suas expressões tenham efeitos colaterais desejáveis. > > Bom, até aqui aprendemos que podemos ter expressões regulares que > batem com uma parte da expressão procurada, e conseqüêntemente se > comportam de forma diferente da igualdade simples. > Bom, graça a tua ajuda finalmente concluiu algo que os meus olhos viam, mas o meu coração não queria acreditar e o meu cerebro não compreendia porque o cara fazia um negócio desse. (poético não ???) > Aprendemos ainda como usar âncoras em expressões regulares para > controlar *onde* a expressão pode ser encontrada (começo ou final da > linha). Meu caro, já não sou facha branca em Perl (apesar de alguma perguntas bobas), o que me intrigava nesta história era a freqüência que eu via algo que não fazia sentido na minha leitura. Eu pensava cá com os meu botões..."Deve ter alguma outra leitura desta expressão, não pode ser possível o cara escrever este negócio para comparar exatamente um valor.... para mim expressões são encontrar padrões"..... > > Putamplexos! > -- Muito obrigados a todos novamente.... Solli -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040629/11b39e62/attachment.htm From shonorio em terra.com.br Tue Jun 29 10:31:24 2004 From: shonorio em terra.com.br (Solli Moreira Honorio) Date: Mon Aug 2 21:27:07 2004 Subject: =?iso-8859-1?b?UmU6W0Nhc2NhdmVsLXBtXSAicHJvc3RpdHVp5+NvIiBkYSBwcm9ncmFt?= =?iso-8859-1?b?Yefjbw==?= Message-ID: O problema não é oferecer !!! Mas sim comprar !! Qual o problema de oferecer um pedação de código para alguém que está afim dele.... Afinal fazemos isto todos os dias quando programamos.... -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040629/5365e58e/attachment.htm From monsieur_champs em yahoo.com.br Tue Jun 29 08:01:06 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] Mais uma pergunta idiota de REGEX !!! In-Reply-To: <000101c45d7d$55e8ecc0$32cbcfc8@eraser> References: <000101c45d7d$55e8ecc0$32cbcfc8@eraser> Message-ID: <40E16812.1080009@yahoo.com.br> Solli Moreria Honorio wrote: > Sim, mas a minha dúvida não é porque utilizar expressão regular, a minha > dúvida é porque utilizar um tipo de expressão, mas precisamente a > expressão : /^$Valor$/, ou seja (na minha leitura), eu quero o valor > exato, em detrimento de simplestemente o 'eq'. Senhores, eu não consigo imaginar se existe algum caso em que $texto =~ /^$Valor$/ bate e que não resolva para "true" se você perguntar $texto eq $Valor Para mim, ambas as expressões permitem o mesmo universo de respostas, mas usar a expressão regular "custa mais caro" (em ciclos de processador). >>Aqui vai mais uma: expressões regulares são úteis para "limpar" >>variáveis marcadas como "tainted": >> >>if ($valor =~ /^($procurado)$/) { >> my $untainted = $1; >> # ... >>} > > Você deu um exemplo no qual não tinha pensado, mas infelizmente este não > tem sido a utilização que eu tenho visto nos código por aí. :-) Olha! Um uso que a gente não tinha mencionado ainda... :-) Expressões regulares só poderiam ser melhores se custassem menos do que 'eq' ou '=='... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From dexter em ticbrasil.com.br Tue Jun 29 11:34:53 2004 From: dexter em ticbrasil.com.br (dexter@ticbrasil.com.br) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] string References: <007501c45990$56e000a0$daf7fea9@laffit><00d301c45a14$60b66b30$0202a8c0@DexterNote><1088111070.1417.7.camel@cedro><362300450.20040624194105@grad.icmc.usp.br><1088187204.12494.41.camel@cedro><1797624646.20040625193733@grad.icmc.usp.br> <1088203669.12500.46.camel@cedro> Message-ID: <003501c45df7$01b5e660$0202a8c0@DexterNote> galera vlw o esforço de todos .. funcionou .. vlw Ass: Dexter ----- Original Message ----- From: "Daniel Ruoso" To: "Luís Fernando" ; "Cascavel Perl Mongers" Sent: 25 June, 2004 7:47 PM Subject: Re: Re[4]: [Cascavel-pm] string > Em Sex, 2004-06-25 às 19:37, Luís Fernando escreveu: > > que tal assim, Daniel? > > c:\>perl > ihhhhh.... seria melhor se fosse > ruoso@cedro:~$ perl > > :) :) :) > > > $a="teste \"aspas1\", sem aspas, \"com aspas2\" sem\naspas \"com\naspas\" e sem aspas novamente."; > > @b = $a =~ /\"(.*?)\"/gs; #agora sim, testado > > print @b; > > Da mesma forma, o contexto é propagado para a aplicação da regexp.... > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > From monsieur_champs em yahoo.com.br Tue Jun 29 13:14:18 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:07 2004 Subject: [Cascavel-pm] =?ISO-8859-1?Q?=22prostitui=E7=E3o=22_da_p?= =?ISO-8859-1?Q?rograma=E7=E3o?= In-Reply-To: <1375378622.20040629113615@grad.icmc.usp.br> References: <1375378622.20040629113615@grad.icmc.usp.br> Message-ID: <40E1B17A.1050700@yahoo.com.br> Luís Fernando wrote: > Pessoal, o que vocês acham de sites como o scriptlance.com ? > > Antes disso os gringos estavam acostumados a pagar uns US$ 50,00 por > scripts bem simples (o que - confesso - era uma certa exploração, mas > para eles era um valor razoável). Agora eles colocam lá e algum > indiano esfomeado oferece US$ 5,00 ou US$ 10,00 para fazer o programa. Bom, se o indiano consegue pagar para programar, problema dele. De acordo com o FAQ, a taxa mínima que o site cobra do programador por projeto que ele pegar pelo website é US$5,00. http://www.scriptlance.com/cgi-bin/faq/smartfaq.cgi?answer=984529883 Eu acho que é apenas questão de esperar um pouquinho para ver o tal indiano quebrar... :-) Eu gostaria de saber quem mais conhece websites como este para me indicar... quero começar a acompanhar este tipo de coisa... pode ser interessante conhecer estas coisas a longo prazo... Darwninista Xiita, aplicando a lei-de-mercado e a lei-da-selva... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From lemon em grad.icmc.usp.br Tue Jun 29 16:12:40 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:08 2004 Subject: =?ISO-8859-1?B?UmVbMl06IFtDYXNjYXZlbC1wbV0gInByb3N0aXR1aefjbyIgZGEgcHJv?= =?ISO-8859-1?B?Z3JhbWHn428=?= In-Reply-To: <40E1B17A.1050700@yahoo.com.br> References: <1375378622.20040629113615@grad.icmc.usp.br> <40E1B17A.1050700@yahoo.com.br> Message-ID: <1084756406.20040629181240@grad.icmc.usp.br> sim eles acabam fazendo por US$ 5,00 e não recebendo nada... só para ter 1 ponto de review (como se fosse um portfolio) ele "quebra" (ou então, depois q tem mais review, começa a cobrar mais caro)... mas daih aparece outro... e outro... e veja bem... um americano cobraria US$ 50,00 por hora pq lah, a título de comparação, uma casa custa US$ 60000,00 aqui no brasil uma casa custa R$ 60000,00, então cobrariamos R$ 50,00... 3x menos na índia sei lah qto custa, mas o dólar deve ser mais valorizado então eles não saem perdendo tanto com esse valor /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 29/6/2004, 15:14 <---| Luís Fernando wrote: > Pessoal, o que vocês acham de sites como o scriptlance.com ? > > Antes disso os gringos estavam acostumados a pagar uns US$ 50,00 por > scripts bem simples (o que - confesso - era uma certa exploração, mas > para eles era um valor razoável). Agora eles colocam lá e algum > indiano esfomeado oferece US$ 5,00 ou US$ 10,00 para fazer o programa. Bom, se o indiano consegue pagar para programar, problema dele. De acordo com o FAQ, a taxa mínima que o site cobra do programador por projeto que ele pegar pelo website é US$5,00. http://www.scriptlance.com/cgi-bin/faq/smartfaq.cgi?answer=984529883 Eu acho que é apenas questão de esperar um pouquinho para ver o tal indiano quebrar... :-) Eu gostaria de saber quem mais conhece websites como este para me indicar... quero começar a acompanhar este tipo de coisa... pode ser interessante conhecer estas coisas a longo prazo... Darwninista Xiita, aplicando a lei-de-mercado e a lei-da-selva... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From shonorio em terra.com.br Tue Jun 29 17:38:58 2004 From: shonorio em terra.com.br (Solli Moreria Honorio) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] =?iso-8859-1?q?Voc=EAs_sabiam_=3F=3F_Eu_n=E3o_!?= Message-ID: <000001c45e29$de6a6040$32cbcfc8@eraser> Deu no IDG Now !! Programadores desconhecem direitos autorais Sexta-feira, 11 junho de 2004 - 12:03 IDG Now! O site Out-law.com divulgou na quinta-feira (10/06) uma pesquisa revelando que pouco mais de 75% dos desenvolvedores reutilizam ou copiam códigos presentes em outros programas na construção de seus próprios aplicativos. No entanto, nem todas as cópias são ilegais, mas o estudo demonstra que os próprios empregadores não conhecem a lei para evitar processos sobre direitos autorais. O código de qualquer software só pode ser reutilizado se a licença do programa assim permitir. A pesquisa, que levou em conta a opinião de 3.970 desenvolvedores, mostrou que 90% deles reproduziriam as funções de algum outro software, no entanto sem copiar qualquer parte do código. Entretanto, um programador pode ter infringido registros de softwares proprietários simplesmente por ter reproduzido aspectos de estrutura e design, seqüências de operações ou algoritmos de algum outro aplicativo. Segundo a pesquisa, estudos para identificação de cópias em processos sobre direitos autorais levam em conta não a quantidade de código copiada, mas sim a qualidade do que foi reutilizado. Um dado alarmante apresentado pelo Out-law atenta que 80% dos pesquisados guardam para si uma livraria pessoal de códigos. Ou seja, mesmo mudando de projetos ou empresas, levam consigo códigos criados para determinada aplicação. Desse grande grupo, 85% (cerca de 67% do total de entrevistados) reutilizam os códigos de sua própria livraria em outros projetos para os quais foram contratados. O estudo conclui que as companhias empregadoras devem atentar para seus contratos e, assim, evitar futuros problemas legais referentes às más práticas no trabalho, mesmo que não-intencionais. A pesquisa revela também que mesmo um software de código aberto necessita ter sua licença checada, apesar de sua natureza essencialmente livre. Segundo o website, a recomendação principal é de que os desenvolvedores precisam ter a clara noção de que não são eles os alvos de futuras ações judiciais, em caso de cópias de seqüências de códigos, mas sim a empresa para a qual trabalham. http://idgnow.uol.com.br/AdPortalv5/ComputacaoCorporativaInterna.aspx?GU ID=19C689E1-B3CE-4945-82F3-27171C61E95E &ChannelID=2000006 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20040629/0665ff78/attachment.htm From nferraz em phperl.com Tue Jun 29 17:56:12 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] =?ISO-8859-1?Q?=22prostitui=E7=E3o=22_da_p?= =?ISO-8859-1?Q?rograma=E7=E3o?= In-Reply-To: <1375378622.20040629113615@grad.icmc.usp.br> References: <1375378622.20040629113615@grad.icmc.usp.br> Message-ID: <40E1F38C.3070205@phperl.com> Luís Fernando wrote: > Antes disso os gringos estavam acostumados a pagar uns US$ 50,00 por > scripts bem simples (o que - confesso - era uma certa exploração, mas > para eles era um valor razoável). Agora eles colocam lá e algum > indiano esfomeado oferece US$ 5,00 ou US$ 10,00 para fazer o programa. Ué... você nunca pensou que também poderia estar prostituindo o mercado de programação ao aceitar projetos por apenas US$ 50,00 ? Os indianos apenas abaixaram um pouco mais o preço... []s Nelson From lemon em grad.icmc.usp.br Tue Jun 29 17:58:57 2004 From: lemon em grad.icmc.usp.br (=?ISO-8859-1?B?THXtcyBGZXJuYW5kbw==?=) Date: Mon Aug 2 21:27:08 2004 Subject: =?ISO-8859-1?B?UmVbMl06IFtDYXNjYXZlbC1wbV0gInByb3N0aXR1aefjbyIgZGEgcHJv?= =?ISO-8859-1?B?Z3JhbWHn428=?= In-Reply-To: <40E1F38C.3070205@phperl.com> References: <1375378622.20040629113615@grad.icmc.usp.br> <40E1F38C.3070205@phperl.com> Message-ID: <1466756809.20040629195857@grad.icmc.usp.br> depende do projeto acho que cobrar menos do que US$ 10,00/hora é exagero /* +---------------------------------+ | Luís Fernando Estrozi | +---------------------------------+ | Ciência da Computação - USP | | | | mailto:lemon@grad.icmc.usp.br | | ICQ#: 25541891 | | | | http://grad.icmc.usp.br/~lemon/ | +---------------------------------+ There are 10 types of people in the world: Those who understand binary, and those who don't */ EOF |---> Original Message <---> 29/6/2004, 19:56 <---| Luís Fernando wrote: > Antes disso os gringos estavam acostumados a pagar uns US$ 50,00 por > scripts bem simples (o que - confesso - era uma certa exploração, mas > para eles era um valor razoável). Agora eles colocam lá e algum > indiano esfomeado oferece US$ 5,00 ou US$ 10,00 para fazer o programa. Ué... você nunca pensou que também poderia estar prostituindo o mercado de programação ao aceitar projetos por apenas US$ 50,00 ? Os indianos apenas abaixaram um pouco mais o preço... []s Nelson _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From dexter em ticbrasil.com.br Tue Jun 29 19:26:51 2004 From: dexter em ticbrasil.com.br (dexter@ticbrasil.com.br) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] SMS com Perl References: <007501c45990$56e000a0$daf7fea9@laffit><00d301c45a14$60b66b30$0202a8c0@DexterNote><1088111070.1417.7.camel@cedro> <40DC2BAE.4030703@yahoo.com.br><35783.200.179.66.230.1088172288.webmaildim@200.179.66.230><47489.200.179.66.230.1088184033.webmaildim@200.179.66.230><40DC760F.543D@pucrs.br><003d01c45b95$1dead340$ad57a8c0@fortalnet.com.br> <20040627233445.685bea2e@valhalla.localdomain> Message-ID: <006e01c45e38$f0b638f0$0202a8c0@DexterNote> existe esse site da TIM que manda torpedo: http://200.179.42.65/weblogic/services/smsmt.jsp porem vc tem que interpretar a figura e ver oque ta dizendo nela ... se tivesse alguma coisa que identificasse as figuras isso seria posivel, ( ou algum geito de burlar isso, que não deve ser impossivel ) dai dava pra usar alguma coisa que preenchesse os formularios ( tb num sei como isso seria possivel) dai vc mandava seu TIMtorpedo.pl kkkkkk mas acho que deve ser dificil pacas. .. mas se conseguir da um toque ... isso ia ajudar muita gente ... ----- Original Message ----- From: "Alceu Rodrigues de Freitas Junior" To: "Cascavel Perl Mongers" Sent: 27 June, 2004 11:34 PM Subject: Re: [Cascavel-pm] SMS com Perl > On Sat, 26 Jun 2004 12:49:00 -0300 "Gabriel Vieira" > wrote: > > > Não encontrei 1 único sistema onde a funcionalidade não fosse enviar > > através de um site onde há uma interface web, como o feito pelo amigo > > Flavio, ou onde ele enviasse através de um aparelho celular. > > Apesar de não ser uma solução boa (visto que o website pode mudar sua > cara a qualquer momento e você perde a funcionalidade), talvez essa seja > a solução mais óbvia mesmo. > > > Não há a possibilidade de se efetuar o envio a partir de um sistema > > próprio? Onde eu não dependeria do sistema de outros... via SOCKET ou > > sei lá o que?:) > > Acho pouco provável... você teria que estar dentro da rede da operadora > do celular... é por isso que você só consegue fazer via outro celular > (pertencente à operadora) ou via servidor web (deles). > > Talvez a operadora ofereça um acesso mais simplificado para você fazer > isso, mas com certeza não deve ser um serviço gratuito. > > []'s > > > -- > Alceu Rodrigues de Freitas Junior > -- > glasswalk3r@yahoo.com.br > PGP public key at http://www.imortais.cjb.net/addgb.html > --------------------------------------------------------------- > He who knows others is wise. > He who knows himself is enlightened. > -- Lao Tsu > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm > From fglock em pucrs.br Tue Jun 29 22:45:30 2004 From: fglock em pucrs.br (fglock@pucrs.br) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] "prostituição" da p Message-ID: <200406300343.i5U3h8et052574@rigel.pucrs.br> Luis escreveu: > Eu gostaria de saber quem mais conhece > websites como este para me indicar... quero > começar a acompanhar este tipo de coisa... pode > ser interessante conhecer estas coisas a longo > prazo... Eu respondi um anúncio do jobs.perl.org, e acabei descobrindo que a empresa nem sabia direito o que eles queriam. Acho que não vai dar em nada, mas valeu a experiência ... - Flavio S. Glock From fglock em pucrs.br Tue Jun 29 22:52:47 2004 From: fglock em pucrs.br (fglock@pucrs.br) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] SMS com Perl Message-ID: <200406300350.i5U3oQet052970@rigel.pucrs.br> > existe esse site da TIM que manda torpedo: > > http://200.179.42.65/weblogic/services/smsmt.jsp > > porem vc tem que interpretar a figura e ver oque ta dizendo nela ... se > tivesse alguma coisa que identificasse as figuras isso seria posivel, ( ou > algum geito de burlar isso, que não deve ser impossivel ) dai dava pra usar > alguma coisa que preenchesse os formularios ( tb num sei como isso seria > possivel) dai vc mandava seu TIMtorpedo.pl > > kkkkkk > > mas acho que deve ser dificil pacas. .. mas se conseguir da um toque ... > isso ia ajudar muita gente ... Quando eu escrevi o meu programa, era necessario digitar um numero que vinha em uma imagem. Eu usei este programa e funcionou: http://jocr.sourceforge.net/ Eu não consegui entrar no site que você indicou, o servidor está fora do ar. Vou tentar mais tarde. - Flavio S. Glock From gabriel em webclube.com Wed Jun 30 08:48:31 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:08 2004 Subject: =?iso-8859-1?Q?Re:_=5BCascavel-pm=5D_=22prostitui=E7=E3o=22_da_p?= References: <200406300343.i5U3h8et052574@rigel.pucrs.br> Message-ID: <002001c45ea8$f0bdbe20$ad57a8c0@fortalnet.com.br> cgilance.com :) Podiamos montar um grupo de desenvolvimento e nos cadastrarmos nesses sites, como mtos fazem.. Além de ser uma boa fonte para pagar as contas dos social meetings (que espero que venha logo um pra Fortaleza), seria a divulgação do nosso nome. Grandes abraços, Gabriel Vieira ----- Original Message ----- From: To: "Cascavel Perl Mongers" ; "Luís Fernando" ; "Cascavel Perl Mongers" Sent: Wednesday, June 30, 2004 12:45 AM Subject: Re: [Cascavel-pm] "prostituição" da p > Luis escreveu: > > Eu gostaria de saber quem mais conhece > > websites como este para me indicar... quero > > começar a acompanhar este tipo de coisa... pode > > ser interessante conhecer estas coisas a longo > > prazo... > > Eu respondi um anúncio do jobs.perl.org, > e acabei descobrindo que a empresa nem sabia > direito o que eles queriam. Acho que não vai > dar em nada, mas valeu a experiência ... > > - Flavio S. Glock > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From gabriel em webclube.com Wed Jun 30 08:50:54 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] SMS com Perl References: <200406300350.i5U3oQet052970@rigel.pucrs.br> Message-ID: <002b01c45ea9$44e10ca0$ad57a8c0@fortalnet.com.br> Pena que moro em Fortaleza (onde a tim nordeste cobra pra envio de SMS via web ;~~) ê tristeza! Vamos montar uma operadora nossa!? ;~~ hehehe Amigo Mago, crie um sistema somente para os Monges aqui da lista na Vivo, assim poderíamos utilizar gratuitamente. :D Mais abraços, Gabriel Vieira ----- Original Message ----- From: To: "Cascavel Perl Mongers" Sent: Wednesday, June 30, 2004 12:52 AM Subject: Re: [Cascavel-pm] SMS com Perl > > existe esse site da TIM que manda torpedo: > > > > http://200.179.42.65/weblogic/services/smsmt.jsp > > > > porem vc tem que interpretar a figura e ver oque > ta dizendo nela ... se > > tivesse alguma coisa que identificasse as figuras > isso seria posivel, ( ou > > algum geito de burlar isso, que não deve ser > impossivel ) dai dava pra usar > > alguma coisa que preenchesse os formularios ( tb > num sei como isso seria > > possivel) dai vc mandava seu TIMtorpedo.pl > > > > kkkkkk > > > > mas acho que deve ser dificil pacas. .. mas se > conseguir da um toque ... > > isso ia ajudar muita gente ... > > Quando eu escrevi o meu programa, era necessario > digitar um numero que vinha em uma imagem. > Eu usei este programa e funcionou: > http://jocr.sourceforge.net/ > > Eu não consegui entrar no site que você > indicou, o servidor está fora do ar. Vou tentar > mais tarde. > > - Flavio S. Glock > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Cascavel-pm mailing list Cascavel-pm@mail.pm.org http://cascavel.pm.org/mailman/listinfo/cascavel-pm From monsieur_champs em yahoo.com.br Wed Jun 30 10:27:10 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] =?ISO-8859-1?Q?=22prostitui=E7=E3o=22_da_p?= =?ISO-8859-1?Q?rograma=E7=E3o?= References: <1375378622.20040629113615@grad.icmc.usp.br> <40E1B17A.1050700@yahoo.com.br> <1084756406.20040629181240@grad.icmc.usp.br> Message-ID: <40E2DBCE.8020104@yahoo.com.br> Luís Fernando wrote: > sim > eles acabam fazendo por US$ 5,00 e não recebendo nada... só para ter 1 > ponto de review (como se fosse um portfolio) > > ele "quebra" (ou então, depois q tem mais review, começa a cobrar mais > caro)... mas daih aparece outro... e outro... > > e veja bem... um americano cobraria US$ 50,00 por hora pq lah, a > título de comparação, uma casa custa US$ 60000,00 > aqui no brasil uma casa custa R$ 60000,00, então cobrariamos R$ > 50,00... 3x menos > na índia sei lah qto custa, mas o dólar deve ser mais valorizado > então eles não saem perdendo tanto com esse valor > Bom, neste caso, eu recomendo a você que mude de website... Não tem nada que possamos fazer individualmente para nos proteger contra a globalização do mercado de programadores. Lamento muito... -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From monsieur_champs em yahoo.com.br Wed Jun 30 12:10:26 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] SMS com Perl References: <200406300350.i5U3oQet052970@rigel.pucrs.br> <002b01c45ea9$44e10ca0$ad57a8c0@fortalnet.com.br> Message-ID: <40E2F402.9040903@yahoo.com.br> Gabriel Vieira wrote: > Pena que moro em Fortaleza (onde a tim nordeste cobra pra envio de SMS via > web ;~~) ê tristeza! > Vamos montar uma operadora nossa!? ;~~ hehehe > > Amigo Mago, crie um sistema somente para os Monges aqui da lista na Vivo, > assim poderíamos utilizar gratuitamente. :D > > Mais abraços, > Gabriel Vieira Gabriel e irmãos-no-perl: Tenho certeza de que a maior parte de nós simplesmente não se incomodaria em pagar pelo serviço, desde que a interface de programação pudesse ser considerada "segura" (uma autenticação básica na entrada e billing confiável) e portável (nós usamos perl, mas existem outras coisas lá fora...). Imagino que o Mago poderia dar uma espiada pela Vivo e tentar conseguir um diretor que adotasse a causa. Eu estou me propondo a elaborar o projeto e implementar em Perl, se isto vier a ser implementado. Em troca, quero os créditos do trabalho e a garantia de que o sistema será mantido Open-Source. Mago, você está lendo a lista? Putamplexos a todos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From vigaristaz em yahoo.com.br Wed Jun 30 14:16:03 2004 From: vigaristaz em yahoo.com.br (Carlan Calazans) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Novo na lista e com =?iso-8859-1?q?d=FAvidas?= Message-ID: <40E31173.8010702@yahoo.com.br> Olá a todos, não tenho experiência com perl, comecei a estudá-lo a um mês. Estou tentando fazer um script de backup para adquirir conhecimentos e aprender a trabalhar com o Net::FTP. Problema: Estou gerando um .sql com o mysqldump e logo depois compactando com o tar. Existe algum meio de enviar ($ftp->put(arquivo);) um arquivo (no exemplo .tar.gz) em que esteja em outro diretório? Só estou conseguindo enviar o arquivo se ele estiver no mesmo diretório do script cgi. Na verdade, nem está enviando, tenho um print logo após o suposto envio, ele imprime a mensagem, mas o arquivo não vai para o ftp remoto de jeito nenhum. Sei que pode parecer um pouco vago, mas se for necessário adiciono o código fonte na próxima resposta. Já adianto que estou seguindo a estrutura de código do http://search.cpan.org/~gbarr/libnet-1.19/Net/FTP.pm. Abraço! -- Carlan Calazans - Phr34k3r http://www.linuxrapido.org Último artigo: Blogando do Linux Blog: http://www.carlan.calazans.nom.br Fotolog: http://www.mblog.com/phr34k3r From nferraz em phperl.com Wed Jun 30 14:36:20 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Oportunidades internacionais (era: =?iso-8859-1?q?=22prostitui=E7?= =?iso-8859-1?q?=E3o=22_da_programa=E7=E3o=29?= In-Reply-To: <200406300343.i5U3h8et052574@rigel.pucrs.br> References: <200406300343.i5U3h8et052574@rigel.pucrs.br> Message-ID: <40E31634.3060106@phperl.com> fglock@pucrs.br wrote: >> Eu gostaria de saber quem mais conhece >>websites como este para me indicar... quero >>começar a acompanhar este tipo de coisa... pode >>ser interessante conhecer estas coisas a longo >>prazo... > > Eu respondi um anúncio do jobs.perl.org, > e acabei descobrindo que a empresa nem sabia > direito o que eles queriam. Acho que não vai > dar em nada, mas valeu a experiência ... Eu acho que seria muito interessante se pudéssemos nos organizar para atender a demandas internacionais. Se cada um de nós trabalhar em sua área de especialização, nós certamente poderemos oferecer soluções de excelente qualidade a um custo competitivo. O que não devemos fazer é trabalhar isoladamente, no estilo "cada um por si". O primeiro passo, como o Luís sugeriu, é fazer um levantamento dos sites que oferecem oportunidades de negócios nos EUA e, eu gostaria de sugerir, outros países do G8 (Alemanha, Canadá, EUA, França, Inglaterra, Itália, Japão, Russia). []s Nelson From monsieur_champs em yahoo.com.br Wed Jun 30 14:45:41 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Novo na lista e com =?ISO-8859-1?Q?d=FAvidas?= References: <40E31173.8010702@yahoo.com.br> Message-ID: <40E31865.50107@yahoo.com.br> Carlan Calazans wrote: > Olá a todos, > não tenho experiência com perl, comecei a estudá-lo a um mês. Estou > tentando fazer um script de backup para adquirir conhecimentos e > aprender a trabalhar com o Net::FTP. Benvindo à lista! Pelo que eu consegui ver, você encontrou o CPAN. Não está nada mau, para o primeiro mes de Perl... :-) Inscreva-se no www.perlmonks.org, eles tem dicas e truques fantásticos online. :-) > Problema: > Estou gerando um .sql com o mysqldump e logo depois compactando com o > tar. Existe algum meio de enviar ($ftp->put(arquivo);) um arquivo (no > exemplo .tar.gz) em que esteja em outro diretório? Só estou conseguindo > enviar o arquivo se ele estiver no mesmo diretório do script cgi. Na > verdade, nem está enviando, tenho um print logo após o suposto envio, > ele imprime a mensagem, mas o arquivo não vai para o ftp remoto de jeito > nenhum. Estou assumindo o seguinte, e posso estar enganado: 1. Isto tudo roda em um linux (ou outro un*x qualquer); 2. Seu mysql roda localmente no servidor; 3. Você está usando um script perl com padrão CGI; 4. Você roda apache no seu servidor un*x; A primeira coisa que pode não estar funcionando corretamente é permissões de arqivo. Me explica (?:como|onde|porque|quando) você grava arquivos, e com que (?:usuários|permissões) faz isso, por favor? A segunda coisa que pode estar errada é o caminho para o seu database dump file. Pode ser que o apache "enganou" você, te fazendo acreditar que poderia ver um diretório acima do seu, mas na verdade não é bem assim... você experimentou indicar o caminho completo do arquivo para seu script? A terceira coisa que eu olharia no seu lugar é se o FTP para onde você deseja enviar funciona mesmo (e isso inclui permissões de usuário corretas!). Você consegue executar o FTP na mão? > Sei que pode parecer um pouco vago, mas se for necessário adiciono o > código fonte na próxima resposta. Já adianto que estou seguindo a > estrutura de código do > http://search.cpan.org/~gbarr/libnet-1.19/Net/FTP.pm. > Você quis dizer que se aproveitou de um exemplo do Net::FTP para começar a brincadeira? Muito bom, normalmente eles funcionam bem. Mas nem todos os exemplos são confiaveis... :-) Se você não se incomodar, eu gostaria de ver o fonte do seu programa... Você precisa mesmo fazer isto rodar sobre padrão CGI imediatamente? O script não poderia rodar sozinho, possivelmente a partir de uma chamada do crontab(1)? Putamplexos, benvindo ao grupo e aguardo retorno! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From vigaristaz em yahoo.com.br Wed Jun 30 15:35:50 2004 From: vigaristaz em yahoo.com.br (Carlan Calazans) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Novo na lista e com =?ISO-8859-1?Q?d=FAvidas?= In-Reply-To: <40E31865.50107@yahoo.com.br> References: <40E31173.8010702@yahoo.com.br> <40E31865.50107@yahoo.com.br> Message-ID: <40E32426.7070107@yahoo.com.br> Luis Campos de Carvalho wrote: > Benvindo à lista! Pelo que eu consegui ver, você encontrou o CPAN. > Não está nada mau, para o primeiro mes de Perl... :-) > Inscreva-se no www.perlmonks.org, eles tem dicas e truques > fantásticos online. :-) Opa! Obrigado ;) Já vou fazer o cadastro. > Estou assumindo o seguinte, e posso estar enganado: > 1. Isto tudo roda em um linux (ou outro un*x qualquer); > 2. Seu mysql roda localmente no servidor; > 3. Você está usando um script perl com padrão CGI; > 4. Você roda apache no seu servidor un*x; > > A primeira coisa que pode não estar funcionando corretamente é > permissões de arqivo. Me explica (?:como|onde|porque|quando) você > grava arquivos, e com que (?:usuários|permissões) faz isso, por favor? > > A segunda coisa que pode estar errada é o caminho para o seu > database dump file. Pode ser que o apache "enganou" você, te fazendo > acreditar que poderia ver um diretório acima do seu, mas na verdade > não é bem assim... você experimentou indicar o caminho completo do > arquivo para seu script? > > A terceira coisa que eu olharia no seu lugar é se o FTP para onde > você deseja enviar funciona mesmo (e isso inclui permissões de usuário > corretas!). Você consegue executar o FTP na mão? > Sim para as perguntas 1, 2, 3, 4. As permissões estão ok, tenho certeza. Antes de criar este cgi fiz uns testes com um pl e funcionou perfeitamente, rodando tudo na minha máquina e enviando para um ftp externo. > Você quis dizer que se aproveitou de um exemplo do Net::FTP para > começar a brincadeira? Muito bom, normalmente eles funcionam bem. Mas > nem todos os exemplos são confiaveis... :-) > > Se você não se incomodar, eu gostaria de ver o fonte do seu programa... > Você precisa mesmo fazer isto rodar sobre padrão CGI imediatamente? > O script não poderia rodar sozinho, possivelmente a partir de uma > chamada do crontab(1)? > > Putamplexos, benvindo ao grupo e aguardo retorno! Exatamente! Tive que recorrer a fonte para aprender a usá-lo. É o que quero, rodar através de um 'cron job', mas antes preciso do danado funcionando. Estou enviando o script logo abaixo, provavelmente existem erros gritantes. Você vão rir de mim, mas o que é putamplexo? =) Obrigadão! ##################################### inicio script ########################################### #!/usr/bin/perl -w # Autor: Carlan Calazans (www.carlan.calazans.nom.br) use strict; use CGI qw(:standard); use CGI::Carp qw(warningsToBrowser fatalsToBrowser); use Net::FTP; print header, start_html("Backup"); # Ajuda # Formato das variaveis: # USERBD='nomeusuariocpanel_usuario' # BD='nomeusuariocpanel_basededados' my $USERBD=''; my $SENHABD=''; my $BD=''; # Diretorio do webserver my $DIRLOCAL='/home/user/backup'; # Diretorio do ftpserver my $DIRDEST='/home/user/bkp'; # Arquivos my $DATA=`date +%d-%m-%Y`; chomp($DATA); my $NARQ="backup-$DATA.sql"; my $ARQ="backup-$DATA.tar.gz"; # ftp1 my $HOSTFTP=''; my $USERFTP=''; my $SENHAFTP=''; # ftp2 # my $HOSTFTP2=''; # my $USERFTP2=''; # my $SENHAFTP2=''; # crie o diretório backup no servidor web if (!( -d $DIRLOCAL)) { system("mkdir $DIRLOCAL"); } # Cria arquivo de log print "Gerando o log...
"; open(my $LOGUE,">> $DIRLOCAL/backup.log") or die "Nao foi possivel criar o arquivo de log...
"; print $LOGUE "\n############################################################################################\n"; print $LOGUE "Data: ",$DATA,"\n"; print $LOGUE "Base de dados: ", $BD,"\n"; print $LOGUE "Arquivo de backup: ",$ARQ,"\n"; close ($LOGUE); # Cria e compacta arquivo de backup system("mysqldump --quick --all --add-drop-table --add-locks --lock-tables --quote-names --user=$USERBD --password=$SENHABD $BD > $NARQ > /dev/null && tar cvzf $ARQ $NARQ > /dev/null && rm -f $NARQ > /dev/null"); print "
Arquivo .sql criado com sucesso...
"; # Conecta ao FTP print "Conectando a ",$HOSTFTP,"
"; # Envia ao ftp1 my $ftp=Net::FTP->new($HOSTFTP); $ftp->login($USERFTP, $SENHAFTP) or die "Ops, deu erro. Usuario ou senha incorretos..."; $ftp->mkdir($DIRDEST); $ftp->cwd($DIRDEST) or die "Ops, deu erro. Diretorio nao encontrado..."; $ftp->binary(); $ftp->put($ARQ) or die "Ops, deu erro. Arquivo nao encontrado..."; $ftp->quit(); print "Arquivo enviado com sucesso ;)\n"; # Envia ao ftp2 # Email de confirmacao do backup com o log em anexo print end_html; ################################## fim script ############################################## -- Carlan Calazans - Phr34k3r http://www.linuxrapido.org Último artigo: Blogando do Linux Blog: http://www.carlan.calazans.nom.br Fotolog: http://www.mblog.com/phr34k3r From dexter em ticbrasil.com.br Wed Jun 30 16:06:35 2004 From: dexter em ticbrasil.com.br (dexter@ticbrasil.com.br) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Linhas repetidas References: <200406300350.i5U3oQet052970@rigel.pucrs.br><002b01c45ea9$44e10ca0$ad57a8c0@fortalnet.com.br> <40E2F402.9040903@yahoo.com.br> Message-ID: <008001c45ee6$20a54e90$0202a8c0@DexterNote> Como tiro as linhas repetidas de um arquivo Vlw From monsieur_champs em yahoo.com.br Wed Jun 30 16:18:07 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Novo na lista e com =?ISO-8859-1?Q?d=FAvidas?= References: <40E31173.8010702@yahoo.com.br> <40E31865.50107@yahoo.com.br> <40E32426.7070107@yahoo.com.br> Message-ID: <40E32E0F.6050003@yahoo.com.br> Carlan Calazans wrote: > As permissões estão ok, tenho certeza. Antes de criar este cgi fiz uns > testes com um pl e funcionou perfeitamente, rodando tudo na minha > máquina e enviando para um ftp externo. Mas será que o usuário que roda o apache tem as mesmas permissões que você? Averigüe isto, por favor... > Exatamente! Tive que recorrer a fonte para aprender a usá-lo. > É o que quero, rodar através de um 'cron job', mas antes preciso do > danado funcionando. Estou enviando o script logo abaixo, provavelmente > existem erros gritantes. Talvez a melhor alternativa não seja rodar via CGI... O perl tem um sistema de debugging, via switch '-d'. Dá uma olhada no manual. > Você vão rir de mim, mas o que é putamplexo? =) Ninguém aqui vai dar risada de você por isso. "Putamplexos" é um neologismo inventado pelo meu irmão, o André Carvalho. É a fusão de "puta" (a *gíria* utilizada para denotar superlativo absoluto de alguma coisa) e "amplexo" (verbete culto para "abraço"). Portanto, "putamplexos" == "abração". Tem sugestões minhas no meio do seu script... ;-) > ##################################### inicio script > ########################################### > #!/usr/bin/perl -w # Tira aquele "-w" dali!! use warnings; # é mais legível > # Autor: Carlan Calazans (www.carlan.calazans.nom.br) > use strict; > use CGI qw(:standard); > use CGI::Carp qw(warningsToBrowser fatalsToBrowser); > use Net::FTP; > > print header, start_html("Backup"); > > # Ajuda > # Formato das variaveis: > # USERBD='nomeusuariocpanel_usuario' > # BD='nomeusuariocpanel_basededados' > > my $USERBD=''; > my $SENHABD=''; > my $BD=''; > > # Diretorio do webserver > my $DIRLOCAL='/home/user/backup'; > # Diretorio do ftpserver > my $DIRDEST='/home/user/bkp'; > > # Arquivos > my $DATA=`date +%d-%m-%Y`; > chomp($DATA); > my $NARQ="backup-$DATA.sql"; > my $ARQ="backup-$DATA.tar.gz"; > > # ftp1 > my $HOSTFTP=''; > my $USERFTP=''; > my $SENHAFTP=''; > > # ftp2 > # my $HOSTFTP2=''; > # my $USERFTP2=''; > # my $SENHAFTP2=''; > > # crie o diretório backup no servidor web > if (!( -d $DIRLOCAL)) > { # system() demora e é perigoso! mkdir $DIRLOCAL unless -d $DIRLOCAL; > } > > # Cria arquivo de log > print "Gerando o log...
"; > open(my $LOGUE,">> $DIRLOCAL/backup.log") or die "Nao foi possivel criar > o arquivo de log...
"; > print $LOGUE > "\n############################################################################################\n"; > > print $LOGUE "Data: ",$DATA,"\n"; > print $LOGUE "Base de dados: ", $BD,"\n"; > print $LOGUE "Arquivo de backup: ",$ARQ,"\n"; > close ($LOGUE); > > # Cria e compacta arquivo de backup > system("mysqldump --quick --all --add-drop-table --add-locks > --lock-tables --quote-names --user=$USERBD --password=$SENHABD $BD > > $NARQ > /dev/null && tar cvzf $ARQ $NARQ > /dev/null && rm -f $NARQ > > /dev/null"); > print "
Arquivo .sql criado com sucesso...
"; > > # Conecta ao FTP > print "Conectando a ",$HOSTFTP,"
"; > > # Envia ao ftp1 > my $ftp=Net::FTP->new($HOSTFTP); > $ftp->login($USERFTP, $SENHAFTP) or die "Ops, deu erro. Usuario ou senha > incorretos..."; # O Net::FTP seta erros no $@. # Use ele quando exibir suas mensagens de erro. # Isso vai ajudar a gente a saber o que está acontecendo... > $ftp->mkdir($DIRDEST); > $ftp->cwd($DIRDEST) or die "Ops, deu erro. Diretorio nao encontrado..."; > $ftp->binary(); > $ftp->put($ARQ) or die "Ops, deu erro. Arquivo nao encontrado..."; > $ftp->quit(); > > print "Arquivo enviado com sucesso ;)\n"; > > # Envia ao ftp2 > > # Email de confirmacao do backup com o log em anexo > > print end_html; > ################################## fim script > ############################################## > Não está tão ruim quanto parece... :-) aliás, está até bem organizadinho... Dá uma olhada nas minhas sugestões. Eu tenho quase certeza de que você está com problemas com o gerenciamento dos erros encontrados pelo Net::FTP... e parece ser um problema trivial. Tente adicionar as modificações que eu sugeri, e rodar novamente. As mensagens de erro devem vir mais claras. Boa sorte! Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From monsieur_champs em yahoo.com.br Wed Jun 30 16:20:07 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Linhas repetidas References: <200406300350.i5U3oQet052970@rigel.pucrs.br><002b01c45ea9$44e10ca0$ad57a8c0@fortalnet.com.br> <40E2F402.9040903@yahoo.com.br> <008001c45ee6$20a54e90$0202a8c0@DexterNote> Message-ID: <40E32E87.7000800@yahoo.com.br> dexter@ticbrasil.com.br wrote: > Como tiro as linhas repetidas de um arquivo > > Vlw > Se você tiver memória o suficiente, pode ler o arquivo todo para um hash table, assim: %hash = ; e depois imprimir. Se você não tiver memória suficiente, não deixe de ler o próximo capítulo... :-) Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= From frighetti em cascavel.pm.org Wed Jun 30 16:23:18 2004 From: frighetti em cascavel.pm.org (Fabiano Reese Righetti) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Linhas repetidas In-Reply-To: <008001c45ee6$20a54e90$0202a8c0@DexterNote> References: <200406300350.i5U3oQet052970@rigel.pucrs.br> <002b01c45ea9$44e10ca0$ad57a8c0@fortalnet.com.br> <40E2F402.9040903@yahoo.com.br> <008001c45ee6$20a54e90$0202a8c0@DexterNote> Message-ID: <20040630182318.61d2bb65.frighetti@cascavel.pm.org> On Wed, 30 Jun 2004 18:06:35 -0300 wrote: > > Como tiro as linhas repetidas de um arquivo > > Vlw > $ cat arquivo | uniq :D Abracos, -- Fabiano Reese Righetti - frighetti AT {cascavel.pm.org, cpan.br} From nferraz em phperl.com Wed Jun 30 16:40:29 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Linhas repetidas In-Reply-To: <008001c45ee6$20a54e90$0202a8c0@DexterNote> References: <200406300350.i5U3oQet052970@rigel.pucrs.br><002b01c45ea9$44e10ca0$ad57a8c0@fortalnet.com.br> <40E2F402.9040903@yahoo.com.br> <008001c45ee6$20a54e90$0202a8c0@DexterNote> Message-ID: <40E3334D.5060405@phperl.com> dexter@ticbrasil.com.br wrote: > Como tiro as linhas repetidas de um arquivo Você pode usar uma expressão idiomática muito comum em Perl, que é um hash ("%seen") que indica as linhas que já foram vistas: my %seen = (); while (<>) { print unless $seen{$_}; $seen{$_} = 1; } []s Nelson From nferraz em phperl.com Wed Jun 30 16:43:53 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Linhas repetidas In-Reply-To: <40E32E87.7000800@yahoo.com.br> References: <200406300350.i5U3oQet052970@rigel.pucrs.br><002b01c45ea9$44e10ca0$ad57a8c0@fortalnet.com.br> <40E2F402.9040903@yahoo.com.br> <008001c45ee6$20a54e90$0202a8c0@DexterNote> <40E32E87.7000800@yahoo.com.br> Message-ID: <40E33419.5010600@phperl.com> Luis Campos de Carvalho wrote: > Se você tiver memória o suficiente, pode ler o arquivo todo para um > hash table, assim: > > %hash = ; Acho que isto não funcionaria neste caso, pois algumas das linhas entrariam como chaves, e outras como valores do hash. []s Nelson From nferraz em phperl.com Wed Jun 30 16:45:22 2004 From: nferraz em phperl.com (Nelson Ferraz) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] Linhas repetidas In-Reply-To: <20040630182318.61d2bb65.frighetti@cascavel.pm.org> References: <200406300350.i5U3oQet052970@rigel.pucrs.br> <002b01c45ea9$44e10ca0$ad57a8c0@fortalnet.com.br> <40E2F402.9040903@yahoo.com.br> <008001c45ee6$20a54e90$0202a8c0@DexterNote> <20040630182318.61d2bb65.frighetti@cascavel.pm.org> Message-ID: <40E33472.4090309@phperl.com> Fabiano Reese Righetti wrote: >>Como tiro as linhas repetidas de um arquivo > > $ cat arquivo | uniq Se o arquivo estiver ordenado, esta é uma boa opção. Caso contrário: $ cat arquivo | sort | uniq []s Nelson From gabriel em webclube.com Wed Jun 30 18:19:01 2004 From: gabriel em webclube.com (Gabriel Vieira) Date: Mon Aug 2 21:27:08 2004 Subject: [Cascavel-pm] SMS com Perl References: <200406300350.i5U3oQet052970@rigel.pucrs.br><002b01c45ea9$44e10ca0$ad57a8c0@fortalnet.com.br> <40E2F402.9040903@yahoo.com.br> Message-ID: <006101c45ef8$a6442280$ad57a8c0@fortalnet.com.br> Luis! Créditos?! Ai tah querendo demais né!? rsrs ;) É o mínimo :) Fale mais do seu projeto... Se isso for pra frente há muito o que se discutir a respeito :) Abraços, Gabriel Vieira ----- Original Message ----- From: "Luis Campos de Carvalho" To: "Cascavel Perl Mongers" Sent: Wednesday, June 30, 2004 2:10 PM Subject: Re: [Cascavel-pm] SMS com Perl > Gabriel Vieira wrote: > > Pena que moro em Fortaleza (onde a tim nordeste cobra pra envio de SMS via > > web ;~~) ê tristeza! > > Vamos montar uma operadora nossa!? ;~~ hehehe > > > > Amigo Mago, crie um sistema somente para os Monges aqui da lista na Vivo, > > assim poderíamos utilizar gratuitamente. :D > > > > Mais abraços, > > Gabriel Vieira > > Gabriel e irmãos-no-perl: > > Tenho certeza de que a maior parte de nós simplesmente não se > incomodaria em pagar pelo serviço, desde que a interface de programação > pudesse ser considerada "segura" (uma autenticação básica na entrada e > billing confiável) e portável (nós usamos perl, mas existem outras > coisas lá fora...). > > Imagino que o Mago poderia dar uma espiada pela Vivo e tentar > conseguir um diretor que adotasse a causa. Eu estou me propondo a > elaborar o projeto e implementar em Perl, se isto vier a ser > implementado. Em troca, quero os créditos do trabalho e a garantia de > que o sistema será mantido Open-Source. > > Mago, você está lendo a lista? > Putamplexos a todos! > -- > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Luis Campos de Carvalho is BSc in Comp Science, > PerlMonk [SiteDocClan], Cascavel-pm Moderator, > Unix Sys Admin && Certified Oracle DBA > http://br.geocities.com/monsieur_champs/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm@mail.pm.org > http://cascavel.pm.org/mailman/listinfo/cascavel-pm From monsieur_champs em yahoo.com.br Wed Jun 30 11:52:39 2004 From: monsieur_champs em yahoo.com.br (Luis Campos de Carvalho) Date: Mon Aug 2 21:27:09 2004 Subject: [Cascavel-pm] SMS com Perl References: <007501c45990$56e000a0$daf7fea9@laffit><00d301c45a14$60b66b30$0202a8c0@DexterNote><1088111070.1417.7.camel@cedro> <40DC2BAE.4030703@yahoo.com.br><35783.200.179.66.230.1088172288.webmaildim@200.179.66.230><47489.200.179.66.230.1088184033.webmaildim@200.179.66.230><40DC760F.543D@pucrs.br><003d01c45b95$1dead340$ad57a8c0@fortalnet.com.br> <20040627233445.685bea2e@valhalla.localdomain> <006e01c45e38$f0b638f0$0202a8c0@DexterNote> Message-ID: <40E2EFD7.5010604@yahoo.com.br> dexter@ticbrasil.com.br wrote: > existe esse site da TIM que manda torpedo: > > http://200.179.42.65/weblogic/services/smsmt.jsp > > porem vc tem que interpretar a figura e ver oque ta dizendo nela ... se > tivesse alguma coisa que identificasse as figuras isso seria posivel, ( ou > algum geito de burlar isso, que não deve ser impossivel ) dai dava pra usar > alguma coisa que preenchesse os formularios ( tb num sei como isso seria > possivel) dai vc mandava seu TIMtorpedo.pl > > kkkkkk > > mas acho que deve ser dificil pacas. .. mas se conseguir da um toque ... > isso ia ajudar muita gente ... Eu vejo isso como um serviço que pode ser explorado pelas empresas de telecom celular. Alguém tem gerente forte para negociar a primeira interface? Ou diretor engajado e a fins de brigar por estas coisas? É "briga de gente grande", e não acredito que eu possa ajudar (exceto talvez implementando alguns objetos Perl Open Source interessantes... ;-) Mas antes de qualquer coisa, precisamos ter apoio das operadoras de telefonia celular... Putamplexos! -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Luis Campos de Carvalho is BSc in Comp Science, PerlMonk [SiteDocClan], Cascavel-pm Moderator, Unix Sys Admin && Certified Oracle DBA http://br.geocities.com/monsieur_champs/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=