From blabos em gmail.com Sat May 2 07:26:20 2009 From: blabos em gmail.com (Blabos de Blebe) Date: Sat, 2 May 2009 11:26:20 -0300 Subject: [Cascavel-pm] SELECT + WHERE com numero = erro In-Reply-To: <9a08c9b40904182049w15141b3tf75cc57038cd6784@mail.gmail.com> References: <797fce390904171955h1b88d55es1c0a18119dda1d1d@mail.gmail.com> <604cec170904180202g639e66f3qae7c75c25c94fb93@mail.gmail.com> <797fce390904181110g5dccc3d8wfe4d9e3d0aef260f@mail.gmail.com> <9a08c9b40904182049w15141b3tf75cc57038cd6784@mail.gmail.com> Message-ID: <179354400905020726n72f703c3mad2d93c55b6c7a1a@mail.gmail.com> Tio Blabos tá bonzinho. Lembrou da tia Cotinha: http://search.cpan.org/~timb/DBI-1.607/DBI.pm#Placeholders_and_Bind_Values Vai lá Grande!!! 2009/4/19 Nilson Santos Figueiredo Jr. : > 2009/4/18 Ricardo Zanotto Zaniol : >> Seguinte, se você não quer ajudar pelo menos não atrapalha (não precisa >> responder), o exemplo que mandei pra lista, foi uma adaptação, para que, >> quem leia possa entender o problema (que não foi o seu caso), que o problema >> não esta na construção do comando e sim da forma como ele é passado para a >> funcao. "SELECT * FROM WHERE = 1". Realmente a linha >> está errada mas se colocar da maneira certa o problema persiste, já procurei >> pela net mas os exemplos são com um ponto de interrogação "?". Portanto eu >> peço a quem já passou por essa situação ou quem realmente esteja interessado >> em ajudar que traga uma solução para o problema. > > Com este tipo de atitude, talvez seja melhor voltar a "procurar pela > internet" mesmo. > Quem está te respondendo, está *te fazendo um favor*, não se esqueça disso. > > Ele te deu o melhor conselho que um iniciante em Perl pode receber. Se > você recusou e ainda achou ruim, está começando *bem* mal. > > Mais um bom conselho pra você: > http://www.catb.org/~esr/faqs/smart-questions.html > > -Nilson Santos F. Jr. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From blabos em gmail.com Sat May 2 07:26:57 2009 From: blabos em gmail.com (Blabos de Blebe) Date: Sat, 2 May 2009 11:26:57 -0300 Subject: [Cascavel-pm] Convite especial para entrar no Facebook In-Reply-To: <3f1259807fe59a7688ee00d3b40cb79c@localhost.localdomain> References: <3f1259807fe59a7688ee00d3b40cb79c@localhost.localdomain> Message-ID: <179354400905020726m4faf02d2gec0c6f7c8233781b@mail.gmail.com> WTF????????? 2009/4/26 Flávio Bei : > facebook > Flávio Bei tem: > 43 amigos > 1 foto > notas > 6 mensagens do mural > 2 grupos > > Convite especial para entrar no Facebook > > Olá, Cascavel, > > Criei um perfil no Facebook com minhas fotos, vídeos e eventos e quero > adicionar-lhe aos amigos para que você possa ver meu perfil. Primeiro, você > precisa cadastrar-se no Facebook! Uma vez cadastrado, você também poderá > criar o seu próprio perfil. > > Atenciosamente, > Flávio > > Para se cadastrar no Facebook, clique no link abaixo: > http://www.facebook.com/p.php?i=663442181&k=R4M442V64Y4M5CDBRGX2UU&r > Veja quem mais eviou-lhe convites para o Facebook: > Rondon Andrade > 15 amigos > cascavel-pm em pm.org foi convidado a participar do Facebook por Flávio Bei. > Caso não queira receber este tipo de e-mail do Facebook no futuro, clique > aqui para cancelar o recebimento. > Os escritórios do Facebook estão localizados em 156 University Ave., Palo > Alto, CA 94301. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From blabos em gmail.com Sat May 2 07:33:25 2009 From: blabos em gmail.com (Blabos de Blebe) Date: Sat, 2 May 2009 11:33:25 -0300 Subject: [Cascavel-pm] intranet com Perl In-Reply-To: <195075.56705.qm@web30807.mail.mud.yahoo.com> References: <195075.56705.qm@web30807.mail.mud.yahoo.com> Message-ID: <179354400905020733g1c79e009gb2269a05ddd48291@mail.gmail.com> Eu vou chover no molhado e indicar Catalyst. Porém, conforme você mesmo percebeu, precisa preencher algumas lacunas conceituais antes de começar. Isso é normal. Sim o Catalyst é meio difícil no começo, porque denovo você precisa aprender muita coisa antes de começar. Mas depois que você pegar o básico, vai ver que é muuuuito mais produtivo para desenvolvimento web, principalmente se o tamanho da sua aplicação for crescer com o tempo. Se o servidor for linux ou algo do gênero, também não recomendo o Active Perl. É mais fácil utilizar o Perl que tem na máquina e o CPAN. Abraços 2009/4/28 Alceu R. de Freitas Jr. : > > Oi Fernando, > > Você está com alguns problemas conceituais. Acho que vale a pena você parar um pouco e estudar esses conceitos antes de meter a mão na massa. > > Procure estudar um pouco sobre DNS (ou WINS, já que talvez você tenha esse serviço de rede na sua intranet) para ver como lidar com resolução de endereços IP para nomes. O Google é seu amigo. > > Você deve estudar também sobre o Apache (http://httpd.apache.org/docs/2.2/, eu recomendo você usar a versão 2.x em ambiente Windows) e talvez o módulo Perl beeeem antigo chamado CGI.pm (http://search.cpan.org/~lds/CGI.pm-3.43/CGI.pm) ou então pular para algo como o CGI::Application (vide artigo do Champs em http://sao-paulo.pm.org), HTML::Template (http://search.cpan.org/~samtregar/HTML-Template-2.9/Template.pm) e CGI::Simple (http://search.cpan.org/~andya/CGI-Simple-1.109/lib/CGI/Simple.pm) para usar técnicas mais modernas. > > Alguns monges aqui poderiam lhe sugerir o Catalyst, mas pessoalmente acho que os "valores vitamínicos" do estudo para começar a usar ele vão ser muito altos para você que parece estar começando. Mas se você tiver tempo sobrando e um prazo amigo para desenvolver essa intranet, pode ser uma boa. > > Se você preferir um livro, eu posso recomendar o "Programação CGI com Perl" (http://www.temporeal.com.br/produtos.php?id=164323). É antigo (algumas técnicas já estão ultrapassadas) e a tradução para o português não é lá essas coisas, mas tem os conceitos básicos e ainda vai te ajudar também com a parte prática. > > []'s > Alceu > > --- Em ter, 28/4/09, Fernando escreveu: > >> De: Fernando >> Assunto: Re: [Cascavel-pm] intranet com Perl >> Para: "Cascavel Perl Mongers" >> Data: Terça-feira, 28 de Abril de 2009, 10:32 >> Supomos então que vou acessar >> através do endereço: >> http://192.168.1.100/cgi-bin/sistema.pl >> >> Então o diretório "Apache", onde fica o "cgi-bin" e o >> "htdocs" deve estar >> compartilhado na rede? >> >> É que não quero que os funcionários tenham acesso à >> pasta "cgi-bin" e >> consequentemente aos arquivos dentro dela. >> >> Nunca trabalhei desta forma, portanto sou ignorante no >> assunto. >> >> Agradeço a ajuda. >> Fernando >> > > > >      Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From claudio em dpreferencial.com.br Mon May 4 15:19:33 2009 From: claudio em dpreferencial.com.br (claudio em dpreferencial.com.br) Date: Mon, 4 May 2009 19:19:33 -0300 Subject: [Cascavel-pm] Problema com opendir/readdir References: <195075.56705.qm@web30807.mail.mud.yahoo.com> <179354400905020733g1c79e009gb2269a05ddd48291@mail.gmail.com> Message-ID: <75EA2D39BA8149DF8EC617A4C68516E2@preferencial.local> Perl..soall, boa noite! Sou iniciante em perl. Estou com dificuldade em usa os comandos opendir/ readdir Fiz um código bem simples: opendir(Dir,$tp) or die("Dir não existe: $!"); while($dPasta=readdir(Dir)){ my $Dor = $tp . $dPasta; if(-z $Dor){ # testa se é um sub-diretório my $dirtem = $Dor . "/" . $gProj . ".xml"; if(-e $dirtem ){ $dtudo = $dtudo . $dPasta . "\n"; } } } closedir(Dir); print "Content-type: text/html\n\n"; print $dtudo; 1º - rodo e dá OK 2º - crio uma pasta no path para onde aponto o opendir 3º - rodo e dá ERRADO .. retorna o mesmo conteúdo da primeira rodada. Parece que o resulado fica na memória. Se alguém puder me dar uma luz, desde já agradeço a todos. Claudio H.Binaghi claudio em dpreferencial.com.br 5511 3288.4840 From wendelscardua em gmail.com Tue May 5 16:18:50 2009 From: wendelscardua em gmail.com (Wendel Scardua) Date: Tue, 5 May 2009 20:18:50 -0300 Subject: [Cascavel-pm] Fwd: [Lisbon.pm] Perl6 logo: acid trip gone bad? In-Reply-To: <73ddeb6c0904281237y19b19dd0w4635cfda507d97f@mail.gmail.com> References: <44E3D871-716E-4429-92AE-17A9BC361E78@evolui.com> <604cec170904280156g7045280bvb1b9ade329280d83@mail.gmail.com> <73ddeb6c0904281237y19b19dd0w4635cfda507d97f@mail.gmail.com> Message-ID: <726229b50905051618v393329ddqc541d4ba14c1122d@mail.gmail.com> 2009/4/28 Adriano Ferreira > Lively (Vivaz) > Punable > Personal (Pessoal) > I saw what you did there :-) Eu "traduziria": Punable (Trocadilhável) []s Wendel -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From linuxcontrol em gmail.com Wed May 6 11:19:50 2009 From: linuxcontrol em gmail.com (Nickollas Carvalho) Date: Wed, 6 May 2009 15:19:50 -0300 Subject: [Cascavel-pm] Problema com opendir/readdir In-Reply-To: <75EA2D39BA8149DF8EC617A4C68516E2@preferencial.local> References: <195075.56705.qm@web30807.mail.mud.yahoo.com> <179354400905020733g1c79e009gb2269a05ddd48291@mail.gmail.com> <75EA2D39BA8149DF8EC617A4C68516E2@preferencial.local> Message-ID: <4a5787230905061119o5c3877dbwf891adbf87a4393e@mail.gmail.com> 2009/5/4 > Perl..soall, boa noite! > > Sou iniciante em perl. > > Estou com dificuldade em usa os comandos > opendir/ readdir > > Fiz um código bem simples: > > opendir(Dir,$tp) or die("Dir não existe: $!"); > while($dPasta=readdir(Dir)){ vc fez uma atribuição na linha acima '=' vc não estava querendo fazer uma comparação '=='? > > my $Dor = $tp . $dPasta; > if(-z $Dor){ # testa se é um sub-diretório > my $dirtem = $Dor . "/" . $gProj . ".xml"; > if(-e $dirtem ){ > $dtudo = $dtudo . $dPasta . "\n"; > } > } > } > closedir(Dir); > print "Content-type: text/html\n\n"; > print $dtudo; > > 1º - rodo e dá OK > 2º - crio uma pasta no path para onde aponto o opendir > 3º - rodo e dá ERRADO .. retorna o mesmo conteúdo da primeira rodada. > > Parece que o resulado fica na memória. > > Se alguém puder me dar uma luz, > > desde já agradeço a todos. > > > Claudio H.Binaghi > claudio em dpreferencial.com.br > 5511 3288.4840 > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From daniel.oliveira.mantovani em gmail.com Wed May 6 12:40:16 2009 From: daniel.oliveira.mantovani em gmail.com (Daniel de Oliveira Mantovani) Date: Wed, 6 May 2009 16:40:16 -0300 Subject: [Cascavel-pm] Problema com opendir/readdir In-Reply-To: <4a5787230905061119o5c3877dbwf891adbf87a4393e@mail.gmail.com> References: <195075.56705.qm@web30807.mail.mud.yahoo.com> <179354400905020733g1c79e009gb2269a05ddd48291@mail.gmail.com> <75EA2D39BA8149DF8EC617A4C68516E2@preferencial.local> <4a5787230905061119o5c3877dbwf891adbf87a4393e@mail.gmail.com> Message-ID: <214823ca0905061240m63f61beqc322701794316c47@mail.gmail.com> 2009/5/6 Nickollas Carvalho > > > 2009/5/4 > >> Perl..soall, boa noite! >> >> Sou iniciante em perl. >> >> Estou com dificuldade em usa os comandos >> opendir/ readdir >> >> Fiz um código bem simples: >> >> opendir(Dir,$tp) or die("Dir não existe: $!"); >> while($dPasta=readdir(Dir)){ >> > > vc fez uma atribuição na linha acima '=' vc não estava querendo fazer uma > comparação '=='? > Não, ele não quer. Ele está atribuindo um right value a um left value. my @array = (1 .. 5) ; while (my $num = @array) { print "$num\n"; } Vai imprimir: 1 2 3 4 5 Entendeu ? > > >> >> my $Dor = $tp . $dPasta; >> if(-z $Dor){ # testa se é um sub-diretório >> my $dirtem = $Dor . "/" . $gProj . ".xml"; >> if(-e $dirtem ){ >> $dtudo = $dtudo . $dPasta . "\n"; >> } >> } >> } >> closedir(Dir); >> print "Content-type: text/html\n\n"; >> print $dtudo; >> >> 1º - rodo e dá OK >> 2º - crio uma pasta no path para onde aponto o opendir >> 3º - rodo e dá ERRADO .. retorna o mesmo conteúdo da primeira rodada. >> >> Parece que o resulado fica na memória. >> >> Se alguém puder me dar uma luz, >> >> desde já agradeço a todos. >> >> >> Claudio H.Binaghi >> claudio em dpreferencial.com.br >> 5511 3288.4840 >> >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm >> > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- http://mantovanihouse.blogspot.com/ This is my poney: -------(\_------------_/)----------- -------)--(----------)--(----------- ------(----(---------)----)---------- -------)----(-------)----(----------- -------(----(-------)----)----------- --------\_-(\\.---.//)-_/------------ ----------\)' -8--8- '(/-------------- -----------/------------\--------------- ----------(--)--------(--)-------------- ------------(_c__c_)---------------- ---------------------------------------- perl -MLWP::Simple -le 'grep{ print $1 if /href="(http.+?)"/}split($/,get(" http://www.perl.org.br"))' -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From joenio em gmail.com Wed May 6 18:41:55 2009 From: joenio em gmail.com (Joenio Costa) Date: Wed, 6 May 2009 22:41:55 -0300 Subject: [Cascavel-pm] Script Perl para ler arquivo PHP In-Reply-To: <36b34d110904101426l21b24fc2tf539b811d593a2d@mail.gmail.com> References: <36b34d110904081746h5315caaahbd690513f1e3ea88@mail.gmail.com> <8e3843570904081804i64de573bk887e014f3b3c566f@mail.gmail.com> <36b34d110904081812w47935b1by71b7892ce4426e5d@mail.gmail.com> <604cec170904100204l2495f224g484bd2a8cc92a75a@mail.gmail.com> <36b34d110904100425m4f6f4857ldd52721f55087ac1@mail.gmail.com> <36b34d110904101426l21b24fc2tf539b811d593a2d@mail.gmail.com> Message-ID: <65934b450905061841n3ae8f309rf15e155ec94b2494@mail.gmail.com> Nós poderiamos criar uma área no www.perl.org.br tipo um FAQ mas não seria um FAQ de fato. Penso em algo que tenha a dúvida inicial postada (com adaptações quando necessário para facilitar o entendimento) e uma resposta contendo um resumo das respostas da thread, mas não sei qual nome dar a isto. O que acham de idéia? Eu estou disposto a ajudar com isto... 2009/4/10 Pedro César : > Vou dar uma mexida e publicar no blog, aviso aqui quando colocar. > > > > 2009/4/10 breno >> >> Não me candidato a transformar em artigo dessa vez pois foi uma >> resposta meio que direcionada - não acho que será tão simples passar >> para um texto genérico (talvez um FAQ de Iniciantes?). Mas fiquem à >> vontade para usar como acharem melhor, seja em blog, wiki, ou onde >> quiserem :-) >> >> >> []s >> >> -b >> >> 2009/4/10 Pedro César : >> > Concordo plenamente com o Nelson, realmente a resposta foi muito ampla e >> > esclarecedora, merece virar um post. E já peço permissão para publicá-la >> > em >> > meu blog: www.tecdom.com.br/blog , com as devidas referêcncias à fonte, >> > claro. >> > >> > >> > >> > 2009/4/10 Nelson Ferraz >> >> >> >> Breno, >> >> >> >> Muito boa a sua resposta! Que tal transformá-la em um artigo para o >> >> wiki? >> >> >> >> Pedro, você também pode ajudar... afinal, ninguém melhor do que alguém >> >> que está comecando para saber quais dicas são mais interessantes! >> >> >> >> []s >> >> >> >> Nelson >> >> _______________________________________________ >> >> Cascavel-pm mailing list >> >> Cascavel-pm em pm.org >> >> http://mail.pm.org/mailman/listinfo/cascavel-pm >> > >> > >> > >> > -- >> > Pedro César >> > Analista de Suporte >> > Microsoft Certified Professional - MCP >> > Blog: www.tecdom.com.br/blog >> > Fone: 82-9317-8802 >> > msn: pedrocesar em tecdom.com.br >> > Registered Linux User #282860 >> > >> > >> > "Autoridades são alguns, >> > e só por algun tempo. >> > Enquanto cidadãos somos todos nós, >> > e durante toda a vida". >> > Prof. Hugo de Britto Machado >> > >> > >> > >> > _______________________________________________ >> > Cascavel-pm mailing list >> > Cascavel-pm em pm.org >> > http://mail.pm.org/mailman/listinfo/cascavel-pm >> > >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm > > > > -- > Pedro César > Analista de Suporte > Microsoft Certified Professional - MCP > Blog: www.tecdom.com.br/blog > Fone: 82-9317-8802 > msn: pedrocesar em tecdom.com.br > Registered Linux User #282860 > > > "Autoridades são alguns, > e só por algun tempo. > Enquanto cidadãos somos todos nós, > e durante toda a vida". > Prof. Hugo de Britto Machado > > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Joenio Costa - Salvador Perl Mongers - Grupo de Usuário Perl de Salvador - Colibre - Cooperativa de Tecnologias Livres - PSL-BA - Projeto Software Livre Bahia From oainikusama em gmail.com Wed May 6 19:08:52 2009 From: oainikusama em gmail.com (breno) Date: Wed, 6 May 2009 23:08:52 -0300 Subject: [Cascavel-pm] Script Perl para ler arquivo PHP In-Reply-To: <65934b450905061841n3ae8f309rf15e155ec94b2494@mail.gmail.com> References: <36b34d110904081746h5315caaahbd690513f1e3ea88@mail.gmail.com> <8e3843570904081804i64de573bk887e014f3b3c566f@mail.gmail.com> <36b34d110904081812w47935b1by71b7892ce4426e5d@mail.gmail.com> <604cec170904100204l2495f224g484bd2a8cc92a75a@mail.gmail.com> <36b34d110904100425m4f6f4857ldd52721f55087ac1@mail.gmail.com> <36b34d110904101426l21b24fc2tf539b811d593a2d@mail.gmail.com> <65934b450905061841n3ae8f309rf15e155ec94b2494@mail.gmail.com> Message-ID: Seria um FAQ mesmo, acho, ou apenas "Perguntas e Respostas"... Parece uma boa, se puder montar o rascunho inicial, tenho certeza que outros da comunidade vão colaborar! []s -b 2009/5/6 Joenio Costa : > Nós poderiamos criar uma área no www.perl.org.br tipo um FAQ mas não > seria um FAQ de fato. > > Penso em algo que tenha a dúvida inicial postada (com adaptações > quando necessário para facilitar o entendimento) > e uma resposta contendo um resumo das respostas da thread, mas não sei > qual nome dar a isto. > > O que acham de idéia? Eu estou disposto a ajudar com isto... > > 2009/4/10 Pedro César : >> Vou dar uma mexida e publicar no blog, aviso aqui quando colocar. >> >> >> >> 2009/4/10 breno >>> >>> Não me candidato a transformar em artigo dessa vez pois foi uma >>> resposta meio que direcionada - não acho que será tão simples passar >>> para um texto genérico (talvez um FAQ de Iniciantes?). Mas fiquem à >>> vontade para usar como acharem melhor, seja em blog, wiki, ou onde >>> quiserem :-) >>> >>> >>> []s >>> >>> -b >>> >>> 2009/4/10 Pedro César : >>> > Concordo plenamente com o Nelson, realmente a resposta foi muito ampla e >>> > esclarecedora, merece virar um post. E já peço permissão para publicá-la >>> > em >>> > meu blog: www.tecdom.com.br/blog , com as devidas referêcncias à fonte, >>> > claro. >>> > >>> > >>> > >>> > 2009/4/10 Nelson Ferraz >>> >> >>> >> Breno, >>> >> >>> >> Muito boa a sua resposta! Que tal transformá-la em um artigo para o >>> >> wiki? >>> >> >>> >> Pedro, você também pode ajudar... afinal, ninguém melhor do que alguém >>> >> que está comecando para saber quais dicas são mais interessantes! >>> >> >>> >> []s >>> >> >>> >> Nelson >>> >> _______________________________________________ >>> >> Cascavel-pm mailing list >>> >> Cascavel-pm em pm.org >>> >> http://mail.pm.org/mailman/listinfo/cascavel-pm >>> > >>> > >>> > >>> > -- >>> > Pedro César >>> > Analista de Suporte >>> > Microsoft Certified Professional - MCP >>> > Blog: www.tecdom.com.br/blog >>> > Fone: 82-9317-8802 >>> > msn: pedrocesar em tecdom.com.br >>> > Registered Linux User #282860 >>> > >>> > >>> > "Autoridades são alguns, >>> > e só por algun tempo. >>> > Enquanto cidadãos somos todos nós, >>> > e durante toda a vida". >>> > Prof. Hugo de Britto Machado >>> > >>> > >>> > >>> > _______________________________________________ >>> > Cascavel-pm mailing list >>> > Cascavel-pm em pm.org >>> > http://mail.pm.org/mailman/listinfo/cascavel-pm >>> > >>> _______________________________________________ >>> Cascavel-pm mailing list >>> Cascavel-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/cascavel-pm >> >> >> >> -- >> Pedro César >> Analista de Suporte >> Microsoft Certified Professional - MCP >> Blog: www.tecdom.com.br/blog >> Fone: 82-9317-8802 >> msn: pedrocesar em tecdom.com.br >> Registered Linux User #282860 >> >> >> "Autoridades são alguns, >> e só por algun tempo. >> Enquanto cidadãos somos todos nós, >> e durante toda a vida". >> Prof. Hugo de Britto Machado >> >> >> >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm >> > > > > -- > Joenio Costa > - Salvador Perl Mongers - Grupo de Usuário Perl de Salvador > - Colibre - Cooperativa de Tecnologias Livres > - PSL-BA - Projeto Software Livre Bahia > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From blabos em gmail.com Thu May 7 07:56:59 2009 From: blabos em gmail.com (Blabos de Blebe) Date: Thu, 7 May 2009 11:56:59 -0300 Subject: [Cascavel-pm] Problema com opendir/readdir In-Reply-To: <214823ca0905061240m63f61beqc322701794316c47@mail.gmail.com> References: <195075.56705.qm@web30807.mail.mud.yahoo.com> <179354400905020733g1c79e009gb2269a05ddd48291@mail.gmail.com> <75EA2D39BA8149DF8EC617A4C68516E2@preferencial.local> <4a5787230905061119o5c3877dbwf891adbf87a4393e@mail.gmail.com> <214823ca0905061240m63f61beqc322701794316c47@mail.gmail.com> Message-ID: <179354400905070756g6dce21f1rf060156b03c5bd14@mail.gmail.com> Nãnão pequeno gafanhoto. > my @array = (1 .. 5) ; > > while (my $num = @array) { > > print "$num\n"; > > } Cria um laço infinito. Talvez vc queria dizer my @array = (1 .. 5) ; while (my $num = shift @array) { print "$num\n"; } :) 2009/5/6 Daniel de Oliveira Mantovani : > > > 2009/5/6 Nickollas Carvalho >> >> >> 2009/5/4 >>> >>> Perl..soall, boa noite! >>> >>> Sou iniciante em perl. >>> >>> Estou com dificuldade em usa os comandos >>> opendir/ readdir >>> >>> Fiz um código bem simples: >>> >>>      opendir(Dir,$tp) or die("Dir não existe: $!"); >>>      while($dPasta=readdir(Dir)){ >> >> vc fez uma atribuição na linha acima '=' vc não estava querendo fazer uma >> comparação '=='? > > Não, ele não quer. > > Ele está atribuindo um right value a um left value. > > my @array = (1 .. 5) ; > > while (my $num = @array) { > >    print "$num\n"; > > } > > Vai imprimir: > > 1 > 2 > 3 > 4 > 5 > > > Entendeu ? > >> >> >>> >>>           my $Dor = $tp . $dPasta; >>>           if(-z $Dor){         # testa se é um sub-diretório >>>           my $dirtem = $Dor . "/" . $gProj . ".xml"; >>>              if(-e $dirtem ){ >>>                 $dtudo  = $dtudo . $dPasta . "\n"; >>>              } >>>           } >>>      } >>>      closedir(Dir); >>>    print "Content-type: text/html\n\n"; >>>    print $dtudo; >>> >>> 1º - rodo e dá OK >>> 2º - crio uma pasta no path para onde aponto o opendir >>> 3º - rodo e dá ERRADO .. retorna o mesmo conteúdo da primeira rodada. >>> >>> Parece que o resulado fica na memória. >>> >>> Se alguém puder me dar uma luz, >>> >>> desde já agradeço a todos. >>> >>> >>> Claudio H.Binaghi >>> claudio em dpreferencial.com.br >>> 5511 3288.4840 >>> >>> _______________________________________________ >>> Cascavel-pm mailing list >>> Cascavel-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/cascavel-pm >> >> >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm > > > > -- > http://mantovanihouse.blogspot.com/ > This is my poney: > -------(\_------------_/)----------- > -------)--(----------)--(----------- > ------(----(---------)----)---------- > -------)----(-------)----(----------- > -------(----(-------)----)----------- > --------\_-(\\.---.//)-_/------------ > ----------\)' -8--8- '(/-------------- > -----------/------------\--------------- > ----------(--)--------(--)-------------- > ------------(_c__c_)---------------- > ---------------------------------------- > perl -MLWP::Simple -le 'grep{ print $1 if > /href="(http.+?)"/}split($/,get("http://www.perl.org.br"))' > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From joenio em gmail.com Thu May 7 08:50:20 2009 From: joenio em gmail.com (Joenio Costa) Date: Thu, 7 May 2009 12:50:20 -0300 Subject: [Cascavel-pm] Script Perl para ler arquivo PHP In-Reply-To: References: <36b34d110904081746h5315caaahbd690513f1e3ea88@mail.gmail.com> <8e3843570904081804i64de573bk887e014f3b3c566f@mail.gmail.com> <36b34d110904081812w47935b1by71b7892ce4426e5d@mail.gmail.com> <604cec170904100204l2495f224g484bd2a8cc92a75a@mail.gmail.com> <36b34d110904100425m4f6f4857ldd52721f55087ac1@mail.gmail.com> <36b34d110904101426l21b24fc2tf539b811d593a2d@mail.gmail.com> <65934b450905061841n3ae8f309rf15e155ec94b2494@mail.gmail.com> Message-ID: <65934b450905070850ua2ca8f2p8c2b844ac6661ead@mail.gmail.com> Espero que tenha ficado bom: http://www.perl.org.br/Artigos/ScriptPerlparalerarquivoPHP Fiquem a vontade para fazer alterações, correções, etc... 2009/5/6 breno : > Seria um FAQ mesmo, acho, ou apenas "Perguntas e Respostas"... Parece > uma boa, se puder montar o rascunho inicial, tenho certeza que outros > da comunidade vão colaborar! > > []s > > -b > > 2009/5/6 Joenio Costa : >> Nós poderiamos criar uma área no www.perl.org.br tipo um FAQ mas não >> seria um FAQ de fato. >> >> Penso em algo que tenha a dúvida inicial postada (com adaptações >> quando necessário para facilitar o entendimento) >> e uma resposta contendo um resumo das respostas da thread, mas não sei >> qual nome dar a isto. >> >> O que acham de idéia? Eu estou disposto a ajudar com isto... >> >> 2009/4/10 Pedro César : >>> Vou dar uma mexida e publicar no blog, aviso aqui quando colocar. >>> >>> >>> >>> 2009/4/10 breno >>>> >>>> Não me candidato a transformar em artigo dessa vez pois foi uma >>>> resposta meio que direcionada - não acho que será tão simples passar >>>> para um texto genérico (talvez um FAQ de Iniciantes?). Mas fiquem à >>>> vontade para usar como acharem melhor, seja em blog, wiki, ou onde >>>> quiserem :-) >>>> >>>> >>>> []s >>>> >>>> -b >>>> >>>> 2009/4/10 Pedro César : >>>> > Concordo plenamente com o Nelson, realmente a resposta foi muito ampla e >>>> > esclarecedora, merece virar um post. E já peço permissão para publicá-la >>>> > em >>>> > meu blog: www.tecdom.com.br/blog , com as devidas referêcncias à fonte, >>>> > claro. >>>> > >>>> > >>>> > >>>> > 2009/4/10 Nelson Ferraz >>>> >> >>>> >> Breno, >>>> >> >>>> >> Muito boa a sua resposta! Que tal transformá-la em um artigo para o >>>> >> wiki? >>>> >> >>>> >> Pedro, você também pode ajudar... afinal, ninguém melhor do que alguém >>>> >> que está comecando para saber quais dicas são mais interessantes! >>>> >> >>>> >> []s >>>> >> >>>> >> Nelson >>>> >> _______________________________________________ >>>> >> Cascavel-pm mailing list >>>> >> Cascavel-pm em pm.org >>>> >> http://mail.pm.org/mailman/listinfo/cascavel-pm >>>> > >>>> > >>>> > >>>> > -- >>>> > Pedro César >>>> > Analista de Suporte >>>> > Microsoft Certified Professional - MCP >>>> > Blog: www.tecdom.com.br/blog >>>> > Fone: 82-9317-8802 >>>> > msn: pedrocesar em tecdom.com.br >>>> > Registered Linux User #282860 >>>> > >>>> > >>>> > "Autoridades são alguns, >>>> > e só por algun tempo. >>>> > Enquanto cidadãos somos todos nós, >>>> > e durante toda a vida". >>>> > Prof. Hugo de Britto Machado >>>> > >>>> > >>>> > >>>> > _______________________________________________ >>>> > Cascavel-pm mailing list >>>> > Cascavel-pm em pm.org >>>> > http://mail.pm.org/mailman/listinfo/cascavel-pm >>>> > >>>> _______________________________________________ >>>> Cascavel-pm mailing list >>>> Cascavel-pm em pm.org >>>> http://mail.pm.org/mailman/listinfo/cascavel-pm >>> >>> >>> >>> -- >>> Pedro César >>> Analista de Suporte >>> Microsoft Certified Professional - MCP >>> Blog: www.tecdom.com.br/blog >>> Fone: 82-9317-8802 >>> msn: pedrocesar em tecdom.com.br >>> Registered Linux User #282860 >>> >>> >>> "Autoridades são alguns, >>> e só por algun tempo. >>> Enquanto cidadãos somos todos nós, >>> e durante toda a vida". >>> Prof. Hugo de Britto Machado >>> >>> >>> >>> _______________________________________________ >>> Cascavel-pm mailing list >>> Cascavel-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/cascavel-pm >>> >> >> >> >> -- >> Joenio Costa >> - Salvador Perl Mongers - Grupo de Usuário Perl de Salvador >> - Colibre - Cooperativa de Tecnologias Livres >> - PSL-BA - Projeto Software Livre Bahia >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm >> > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Joenio Costa - Salvador Perl Mongers - Grupo de Usuário Perl de Salvador - Colibre - Cooperativa de Tecnologias Livres - PSL-BA - Projeto Software Livre Bahia From agnaldo em starweb-software.com.br Fri May 8 06:03:25 2009 From: agnaldo em starweb-software.com.br (Agnaldo Macedo) Date: Fri, 8 May 2009 10:03:25 -0300 Subject: [Cascavel-pm] Assinar arquivo References: <36b34d110904081746h5315caaahbd690513f1e3ea88@mail.gmail.com><8e3843570904081804i64de573bk887e014f3b3c566f@mail.gmail.com><36b34d110904081812w47935b1by71b7892ce4426e5d@mail.gmail.com><604cec170904100204l2495f224g484bd2a8cc92a75a@mail.gmail.com><36b34d110904100425m4f6f4857ldd52721f55087ac1@mail.gmail.com><36b34d110904101426l21b24fc2tf539b811d593a2d@mail.gmail.com><65934b450905061841n3ae8f309rf15e155ec94b2494@mail.gmail.com> <65934b450905070850ua2ca8f2p8c2b844ac6661ead@mail.gmail.com> Message-ID: <83E7C33353EA4DB1B06DC5D5A245ECF0@swmobile> Pessoal, alguém possui algum script para assinatura de arquivo XML, conforme pedido para o processo NF-e? From invite+zrvdl6pz em facebookmail.com Fri May 8 12:48:25 2009 From: invite+zrvdl6pz em facebookmail.com (Luiz Gabriel) Date: Fri, 8 May 2009 12:48:25 -0700 Subject: [Cascavel-pm] =?utf-8?q?Quero_que_voc=C3=AA_entre_no_Facebook?= Message-ID: <36131ad70b0ad65e4c6e3f7d499d92f6@localhost.localdomain> Olá Cascavel-pm, Eu o convidei para participar do Facebook há algum tempo e queria lembrar-lhe que assim que você criar sua conta, nós poderemos manter contato quando conectados, compartilhar fotos, organizar grupos e eventos, e mais. Atenciosamente, Luiz Para se cadastrar no Facebook, clique no link abaixo: http://www.facebook.com/p.php?i=1517895225&k=SVDY6YPZW3YM5CDBRGX2UU&r cascavel-pm em pm.org foi convidado a participar do Facebook por Luiz Gabriel. Caso não queira receber este tipo de e-mail do Facebook no futuro, clique no link a seguir para cancelar o recebimento. http://www.facebook.com/o.php?k=296780&u=1102357741&mid=6e89b7G41b4a4edG0G8 Os escritórios do Facebook estão localizados em 156 University Ave., Palo Alto, CA 94301. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From gsmachado em gmail.com Fri May 8 16:17:10 2009 From: gsmachado em gmail.com (Guilherme Sperb Machado) Date: Sat, 9 May 2009 01:17:10 +0200 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions Message-ID: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> Olá a todos, Faz muitoooo tempo que não posto aqui na lista, e antes eu lia a cascavel com alguma frequencia. Porem, tive que me mudar e entao tive que deixar algumas coisas "de lado". Bom, estou enviando este email porque tenho uma duvida. Na verdade, já procurei algo, mas o que achei ainda nao me satisfez. O que estou tentando fazer, talvez não tenha solução, mas seria uma coisa conveniente, porque é algo que nunca tentei fazer antes. Ou então, não enxerguei ainda como resolver o problema... e então estou enviando para a lista. Vamos supor que eu tenha um programa perl X rodando em uma determinada maquina. Esse programa X é meramente um cliente, que pega informações de diversos servidores. Os servidores, por sua vez, são responsáveis por informar os programas clientes qual o comportamento que eles devem ter, quando, por exemplo, fizerem um webcrawling em determinados websites. Porém, justamente o ato de INFORMAR esse comportamento que não estou conseguindo achar uma maneira elegante e eficaz para fazer. Por isso pensei: existe como o servidor informar/passar SUBROTINAS INTEIRAS para os clientes, e os clientes "adaptarem" e usarem esse trecho de código em tempo de execução? Isso é possível de alguma maneira? Obrigado a todos, Guilherme Sperb Machado -------------------------------------- Guilherme Sperb Machado Researcher at Universität Zürich - IFI - UZH http://www.csg.uzh.ch/staff/machado/ From gabriel.vieira em gmail.com Fri May 8 16:31:53 2009 From: gabriel.vieira em gmail.com (Gabriel Vieira) Date: Fri, 8 May 2009 20:31:53 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> Message-ID: <83d8367f0905081631w2119c2b1s3d44f288dcb41129@mail.gmail.com> http://search.cpan.org/search?query=rmi&mode=all 2009/5/8 Guilherme Sperb Machado : > Olá a todos, > > Faz muitoooo tempo que não posto aqui na lista, e antes eu lia a > cascavel com alguma frequencia. Porem, tive que me mudar e entao tive > que deixar algumas coisas "de lado". > > Bom, estou enviando este email porque tenho uma duvida. Na verdade, já > procurei algo, mas o que achei ainda nao me satisfez. > > O que estou tentando fazer, talvez não tenha solução, mas seria uma > coisa conveniente, porque é algo que nunca tentei fazer antes. Ou > então, não enxerguei ainda como resolver o problema... e então estou > enviando para a lista. > Vamos supor que eu tenha um programa perl X rodando em uma determinada > maquina. Esse programa X é meramente um cliente, que pega informações > de diversos servidores. Os servidores, por sua vez, são responsáveis > por informar os programas clientes qual o comportamento que eles devem > ter, quando, por exemplo, fizerem um webcrawling em determinados > websites. Porém, justamente o ato de INFORMAR esse comportamento que > não estou conseguindo achar uma maneira elegante e eficaz para fazer. > Por isso pensei: existe como o servidor informar/passar SUBROTINAS > INTEIRAS para os clientes, e os clientes "adaptarem" e usarem esse > trecho de código em tempo de execução? > > Isso é possível de alguma maneira? > > Obrigado a todos, > Guilherme Sperb Machado > > -------------------------------------- > Guilherme Sperb Machado > Researcher at Universität Zürich - IFI - UZH > http://www.csg.uzh.ch/staff/machado/ > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Gabriel Vieira From lorn.br em gmail.com Fri May 8 18:13:18 2009 From: lorn.br em gmail.com (Lindolfo "Lorn" Rodrigues) Date: Fri, 8 May 2009 22:13:18 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <83d8367f0905081631w2119c2b1s3d44f288dcb41129@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <83d8367f0905081631w2119c2b1s3d44f288dcb41129@mail.gmail.com> Message-ID: Esta programando muito em Java Gabriel :P Guilherme, ja fiz algo do tipo e usei REST para comunicacao, mas se o seu servidor vai simplesmente passar um endereco de um site para webcrawling ( capturar todas as informacoes, seguir links e afins ) entao acho que os seus clientes estao mais para "mini-servidores" que vao receber uma URL fazer o webcrawling e salvar os dados em algum lugar, essa comunicacao tambem pode ser feita por banco de dados. Eu posso ter entendido errado e simplificado muito, que tipo de regra seu servidor passaria para os clientes(interrogacao) PS: Teclado desconfigurado sux 2009/5/8 Gabriel Vieira > http://search.cpan.org/search?query=rmi&mode=all > > 2009/5/8 Guilherme Sperb Machado : > > Olá a todos, > > > > Faz muitoooo tempo que não posto aqui na lista, e antes eu lia a > > cascavel com alguma frequencia. Porem, tive que me mudar e entao tive > > que deixar algumas coisas "de lado". > > > > Bom, estou enviando este email porque tenho uma duvida. Na verdade, já > > procurei algo, mas o que achei ainda nao me satisfez. > > > > O que estou tentando fazer, talvez não tenha solução, mas seria uma > > coisa conveniente, porque é algo que nunca tentei fazer antes. Ou > > então, não enxerguei ainda como resolver o problema... e então estou > > enviando para a lista. > > Vamos supor que eu tenha um programa perl X rodando em uma determinada > > maquina. Esse programa X é meramente um cliente, que pega informações > > de diversos servidores. Os servidores, por sua vez, são responsáveis > > por informar os programas clientes qual o comportamento que eles devem > > ter, quando, por exemplo, fizerem um webcrawling em determinados > > websites. Porém, justamente o ato de INFORMAR esse comportamento que > > não estou conseguindo achar uma maneira elegante e eficaz para fazer. > > Por isso pensei: existe como o servidor informar/passar SUBROTINAS > > INTEIRAS para os clientes, e os clientes "adaptarem" e usarem esse > > trecho de código em tempo de execução? > > > > Isso é possível de alguma maneira? > > > > Obrigado a todos, > > Guilherme Sperb Machado > > > > -------------------------------------- > > Guilherme Sperb Machado > > Researcher at Universität Zürich - IFI - UZH > > http://www.csg.uzh.ch/staff/machado/ > > _______________________________________________ > > Cascavel-pm mailing list > > Cascavel-pm em pm.org > > http://mail.pm.org/mailman/listinfo/cascavel-pm > > > > > > -- > Gabriel Vieira > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- --Lindolfo "Lorn" Rodrigues www.slackwarezine.com.br http://lornlab.org http://sao-paulo.pm.org use Catalyst; -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From acid06 em gmail.com Fri May 8 22:43:05 2009 From: acid06 em gmail.com (Nilson Santos Figueiredo Jr.) Date: Sat, 9 May 2009 02:43:05 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> Message-ID: <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> 2009/5/8 Guilherme Sperb Machado : > Vamos supor que eu tenha um programa perl X rodando em uma determinada > maquina. Esse programa X é meramente um cliente, que pega informações > de diversos servidores. Os servidores, por sua vez, são responsáveis > por informar os programas clientes qual o comportamento que eles devem > ter, quando, por exemplo, fizerem um webcrawling em determinados > websites. Porém, justamente o ato de INFORMAR esse comportamento que > não estou conseguindo achar uma maneira elegante e eficaz para fazer. > Por isso pensei: existe como o servidor informar/passar SUBROTINAS > INTEIRAS para os clientes, e os clientes "adaptarem" e usarem esse > trecho de código em tempo de execução? > > Isso é possível de alguma maneira? Sim. O seu servidor pode enviar código em Perl (uma string de código) que os clientes irão executar. Isso é feito através do comando: eval $string; Note que isso pode ter implicações de segurança gravíssimas se for mal utilizado. Uma outra maneira mais segura e tradicional seria separar as possíveis ações em classes diferentes e o servidor informaria ao cliente quando classe utilizar para processar aquele pedaço de informação e todas as classes iriam aderir à uma interface comum. -Nilson From glasswalk3r em yahoo.com.br Sat May 9 07:15:07 2009 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Sat, 09 May 2009 11:15:07 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> Message-ID: <4A058FEB.1030906@yahoo.com.br> Guilherme Sperb Machado escreveu: > Vamos supor que eu tenha um programa perl X rodando em uma determinada > maquina. Esse programa X é meramente um cliente, que pega informações > de diversos servidores. Os servidores, por sua vez, são responsáveis > por informar os programas clientes qual o comportamento que eles devem > ter, quando, por exemplo, fizerem um webcrawling em determinados > websites. Porém, justamente o ato de INFORMAR esse comportamento que > não estou conseguindo achar uma maneira elegante e eficaz para fazer. > Por isso pensei: existe como o servidor informar/passar SUBROTINAS > INTEIRAS para os clientes, e os clientes "adaptarem" e usarem esse > trecho de código em tempo de execução? > > Isso é possível de alguma maneira? Sim, mas vai depender exatamente do que esses "clientes" devem fazer. Porque eu não consigo imaginar exatamente como o servidor pode despachar serviço para os clientes de forma tão dinâmica que você não possa já estabelecer de antemão o que eles deverão fazer. Se você está nessa situação, você pode usar eval. Mas isso pode ser bem perigoso porque seu cliente vai executar QUALQUER coisa. Procure pelo módulo Safe. Agora se suas operações vão ser modificadas só um pouco, você pode tentar manipular a tabela de símbolos do Perl. Aqui vai algumas referências: http://www.perl.com/lpt/a/910 http://www252.pair.com/comdog/mastering_perl/Chapters/08.symbol_tables.html Eu particularmente achei a sintaxe bem complicada (tem alguma coisa no CPAN para ajudar com isso, mas não lembro) mas funciona com certeza. []'s Alceu From otaviof em gmail.com Sat May 9 08:07:06 2009 From: otaviof em gmail.com (=?ISO-8859-1?Q?Ot=E1vio_Fernandes?=) Date: Sat, 9 May 2009 12:07:06 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> Message-ID: <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> Nilson e Guilherme, Eu gosto da alternativa de usar um WebService para esta função, assim com o Lorn sugeriu, fica mais elegante na minha opinião. Quanto a segurança, pode-se usar HTTPs e fazer a verificação de quais endereços IPs pode mandar requisições para esta máquina em questão. Uma observação, (tirando casos extremamente específicos) WS é RESTful (meus dois centavos). um abraço, -- Otávio Fernandes http://otaviof.blogspot.com/ From gsmachado em gmail.com Sat May 9 20:46:26 2009 From: gsmachado em gmail.com (Guilherme Sperb Machado) Date: Sun, 10 May 2009 05:46:26 +0200 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> Message-ID: <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> Obrigado pela resposta de todos. Vou esclarecer algumas coisas: - A idéia é fazer algo bem dinâmico mesmo. Por isso estou estudando o quão dinamico isso pode ser feito. - O IDEAL para min, seria que o servidor "distribuisse" FUNÇÕES em perl para os clientes, e não COMANDOS. Segue a ideia abaixo: Servidor possui implementado a seguinte funcao: sub function1 { # funcao que implementa um parser em um determinado website. Essa funcao serah distribuida pelo servidor, porque, o parser pode mudar a qualquer hora sem acarretar mudancas nos clientes. } Essa funcao seria "enviada" de alguma maneira para os clientes. Os clientes receberiam essa funcao, e a usariam de uma forma previamente implementada DENTRO do cliente. O QUE EU QUERO EVITAR TAMBEM é um processamento dessa funcao pelo servidor. O cliente que precisa PROCESSA-LA, mas quem vai dizer COMO fazer (ou seja, a função escrita em si) é o servidor. Resumindo, para ficar mais claro: quero que os clientes sejam meros clientes burros para processamento apenas. O servidor ficaria com o conhecimento, e quando algo mudar (relativo ao parsing de websites, que por sinal sao centenas nesse meu problema), o servidor distribuirá as funções atualizadas para os clientes executarem e trabalharem com os dados obtidos. :-) Ficou mais claro? Alguem sugere alguma solução? Pelo que eu sei, RPC não serve, porque o cliente soh chama uma funcao no servidor, que processa, e soh dah um output pro cliente. :-( Quero evitar justamente isso. Não sei, pode ser que isso nao exista por problemas conceituais de linguagens de programação mesmo... tipo, pensando de uma forma SIMPLÓRIA, seria como definir uma função em uma variável ($sub1 = sub a { comandos }) e então enviar essa variavel $sub1 para o cliente, de alguma forma, e o cliente a partir daih, adaptar essa funcao recebida, em tempo de execucao, no seu codigo, para que seja possivel a chamada dela, posteriormente ao recebimento. Algo do tipo. Acho que fui mais claro agora. Abraço, e agradeço desde já, Guilherme Sperb Machado 2009/5/9 Otávio Fernandes : > Nilson e Guilherme, > > Eu gosto da alternativa de usar um WebService para esta função, assim > com o Lorn sugeriu, fica mais elegante na minha opinião. Quanto a > segurança, pode-se usar HTTPs e fazer a verificação de quais endereços > IPs pode mandar requisições para esta máquina em questão. Uma > observação, (tirando casos extremamente específicos) WS é RESTful > (meus dois centavos). > > um abraço, > > -- > Otávio Fernandes > http://otaviof.blogspot.com/ > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From acid06 em gmail.com Sat May 9 21:28:03 2009 From: acid06 em gmail.com (Nilson Santos Figueiredo Jr.) Date: Sun, 10 May 2009 01:28:03 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> Message-ID: <9a08c9b40905092128q4b70b9b7jb09719ebd74e310d@mail.gmail.com> 2009/5/10 Guilherme Sperb Machado : > - A idéia é fazer algo bem dinâmico mesmo. Por isso estou estudando o > quão dinamico isso pode ser feito. > - O IDEAL para min, seria que o servidor "distribuisse" FUNÇÕES em > perl para os clientes, e não COMANDOS. Segue a ideia abaixo: > > Alguem sugere alguma solução? Se você tivesse lido meu post, teria visto uma maneira simples de fazer exatamente isso. Mas elaborando mais um pouco... caso você queira enviar classes inteiras e não só métodos, pode dar uma olhada no módulo Class::Serializer, de minha autoria. Caso queira apenas enviar funções simples, dê uma olhada no módulo Data::Dump::Streamer, que é utilizado pelo Class::Serializer internamente. -Nilson Santos F. Jr. From otaviof em gmail.com Sat May 9 21:29:59 2009 From: otaviof em gmail.com (=?ISO-8859-1?Q?Ot=E1vio_Fernandes?=) Date: Sun, 10 May 2009 01:29:59 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> Message-ID: <8e3843570905092129r36746b3dtf7e228a3dacdc3cb@mail.gmail.com> 2009/5/10 Guilherme Sperb Machado : > Obrigado pela resposta de todos. > > Vou esclarecer algumas coisas: > > - A idéia é fazer algo bem dinâmico mesmo. Por isso estou estudando o > quão dinamico isso pode ser feito. > - O IDEAL para min, seria que o servidor "distribuisse" FUNÇÕES em > perl para os clientes, e não COMANDOS. Segue a ideia abaixo: Qual o seu real problema? É ter um servidor que possa processar todas as instâncias do seu software e para isso ele vai usar muito processmento e memória? Se a resposta for afirmativa eu recomendo que você faça algo virtualizado, assim: crie uma máquina virtual que utiliza várias hospedeiras, assim, você consegue juntar o poder de processamento e memória de todas elas. O único ponto de atenção é o IO, este é conhecidamente o ponto mais fraco no ambiente virtual, porem, para isso você pode recorrer a um storage. Atente que a solução virtualizada é mais simples para o seu software. > Servidor possui implementado a seguinte funcao: > > sub function1 { >  # funcao que implementa um parser em um determinado website. Essa > funcao serah distribuida pelo servidor, porque, o parser pode mudar a > qualquer hora sem acarretar mudancas nos clientes. > } No caso do ambiente virtual você pode simplesmente criar mais um processo e utilizar o nice para definir a prioridade sobre os outros. > Essa funcao seria "enviada" de alguma maneira para os clientes. Os > clientes receberiam essa funcao, e a usariam de uma forma previamente > implementada DENTRO do cliente. O QUE EU QUERO EVITAR TAMBEM é um > processamento dessa funcao pelo servidor. O cliente que precisa > PROCESSA-LA, mas quem vai dizer COMO fazer (ou seja, a função escrita > em si) é o servidor. Neste ponto eu vejo algo como "horizontalmente escalável", e se esta for o objetivo que você quer chegar, eu recomendo que você veja com muito cuidado as linguagens de programação funcionais, como por exemplo Erlang. Também veja o MapReduce, _parece_ ser exatamente o que você precisa. > Resumindo, para ficar mais claro: quero que os clientes sejam meros > clientes burros para processamento apenas. O servidor ficaria com o > conhecimento, e quando algo mudar (relativo ao parsing de websites, > que por sinal sao centenas nesse meu problema), o servidor distribuirá > as funções atualizadas para os clientes executarem e trabalharem com > os dados obtidos. :-) humm, virtualização mesmo. > Ficou mais claro? > > Alguem sugere alguma solução? > > Pelo que eu sei, RPC não serve, porque o cliente soh chama uma funcao > no servidor, que processa, e soh dah um output pro cliente. :-( Quero > evitar justamente isso. > > Não sei, pode ser que isso nao exista por problemas conceituais de > linguagens de programação mesmo... tipo, pensando de uma forma > SIMPLÓRIA, seria como definir uma função em uma variável ($sub1 = sub > a { comandos }) e então enviar essa variavel $sub1 para o cliente, de > alguma forma, e o cliente a partir daih, adaptar essa funcao recebida, > em tempo de execucao, no seu codigo, para que seja possivel a chamada > dela, posteriormente ao recebimento. Algo do tipo. Neste ponto você tem que ficar muito atento quanto a utilização dos seus nodes. Como você vai saber se ele está sobrecarregado, ou se está com processamento sobrando. Veja que vai ficar uma solução pouco eficiente. > Acho que fui mais claro agora. > > Abraço, e agradeço desde já, > Guilherme Sperb Machado -- Otávio Fernandes http://otaviof.blogspot.com/ From otaviof em gmail.com Sat May 9 21:59:09 2009 From: otaviof em gmail.com (=?ISO-8859-1?Q?Ot=E1vio_Fernandes?=) Date: Sun, 10 May 2009 01:59:09 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <8e3843570905092129r36746b3dtf7e228a3dacdc3cb@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> <8e3843570905092129r36746b3dtf7e228a3dacdc3cb@mail.gmail.com> Message-ID: <8e3843570905092159i42aa00byc94c1a1f23d4b33f@mail.gmail.com> Guilherme, Outro ponto a considerar, antes de qualquer outro. Toda otimização prematura é um grande erro. Pense primeiro em fazer um protótipo funcional com o seu projeto, dai em diante, você decide qual a melhor maneira para ele crescer e quais rotinas realmente vão precisar de modificações, ou até um servidor separado para a sua execução, ou no ponto de virtualização que eu citei. Lembre que todo este processo tem que estar embasado em medições e benchmarks das rotinas, porque senão, você pode estar apenas inserindo bugs ao seu código. Falando em bugs, você vai fazer cobertura de testes? TDD? É importante. um abraço, -- Otávio Fernandes http://otaviof.blogspot.com/ From joenio em gmail.com Sun May 10 07:28:31 2009 From: joenio em gmail.com (Joenio Costa) Date: Sun, 10 May 2009 11:28:31 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> Message-ID: <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> Olá Guilherme, Tentando imaginar o que você está tentando fazer fico me perguntando se você não consegue resolver seu problema usando simplesmente seu sistema de controle de versão (git, svn, darcs, ...) onde os cliente monitorem mudanças num repositório central e "se" atualizem automaticamente ao notar qualquer mudança no código. É uma proposta totalmente diferente das sugestões feitas até o momento mas se eu entendi um pouco do seu problema pode ser uma alternativa simples (e na minha opinião elegante) de implementar. Att, 2009/5/10 Guilherme Sperb Machado : > Obrigado pela resposta de todos. > > Vou esclarecer algumas coisas: > > - A idéia é fazer algo bem dinâmico mesmo. Por isso estou estudando o > quão dinamico isso pode ser feito. > - O IDEAL para min, seria que o servidor "distribuisse" FUNÇÕES em > perl para os clientes, e não COMANDOS. Segue a ideia abaixo: > > Servidor possui implementado a seguinte funcao: > > sub function1 { >  # funcao que implementa um parser em um determinado website. Essa > funcao serah distribuida pelo servidor, porque, o parser pode mudar a > qualquer hora sem acarretar mudancas nos clientes. > } > > Essa funcao seria "enviada" de alguma maneira para os clientes. Os > clientes receberiam essa funcao, e a usariam de uma forma previamente > implementada DENTRO do cliente. O QUE EU QUERO EVITAR TAMBEM é um > processamento dessa funcao pelo servidor. O cliente que precisa > PROCESSA-LA, mas quem vai dizer COMO fazer (ou seja, a função escrita > em si) é o servidor. > > Resumindo, para ficar mais claro: quero que os clientes sejam meros > clientes burros para processamento apenas. O servidor ficaria com o > conhecimento, e quando algo mudar (relativo ao parsing de websites, > que por sinal sao centenas nesse meu problema), o servidor distribuirá > as funções atualizadas para os clientes executarem e trabalharem com > os dados obtidos. :-) > > Ficou mais claro? > > Alguem sugere alguma solução? > > Pelo que eu sei, RPC não serve, porque o cliente soh chama uma funcao > no servidor, que processa, e soh dah um output pro cliente. :-( Quero > evitar justamente isso. > > Não sei, pode ser que isso nao exista por problemas conceituais de > linguagens de programação mesmo... tipo, pensando de uma forma > SIMPLÓRIA, seria como definir uma função em uma variável ($sub1 = sub > a { comandos }) e então enviar essa variavel $sub1 para o cliente, de > alguma forma, e o cliente a partir daih, adaptar essa funcao recebida, > em tempo de execucao, no seu codigo, para que seja possivel a chamada > dela, posteriormente ao recebimento. Algo do tipo. > > Acho que fui mais claro agora. > > Abraço, e agradeço desde já, > Guilherme Sperb Machado > > 2009/5/9 Otávio Fernandes : >> Nilson e Guilherme, >> >> Eu gosto da alternativa de usar um WebService para esta função, assim >> com o Lorn sugeriu, fica mais elegante na minha opinião. Quanto a >> segurança, pode-se usar HTTPs e fazer a verificação de quais endereços >> IPs pode mandar requisições para esta máquina em questão. Uma >> observação, (tirando casos extremamente específicos) WS é RESTful >> (meus dois centavos). >> >> um abraço, >> >> -- >> Otávio Fernandes >> http://otaviof.blogspot.com/ >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm >> > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Joenio Costa - Salvador Perl Mongers - Grupo de Usuário Perl de Salvador - Colibre - Cooperativa de Tecnologias Livres - PSL-BA - Projeto Software Livre Bahia From acid06 em gmail.com Sun May 10 10:16:01 2009 From: acid06 em gmail.com (Nilson Santos Figueiredo Jr.) Date: Sun, 10 May 2009 14:16:01 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> Message-ID: <9a08c9b40905101016h758fd352x2fb773cb480aa619@mail.gmail.com> 2009/5/10 Joenio Costa : > Tentando imaginar o que você está tentando fazer fico me perguntando > se você não consegue > resolver seu problema usando simplesmente seu sistema de controle de > versão (git, svn, darcs, ...) > onde os cliente monitorem mudanças num repositório central e "se" > atualizem automaticamente > ao notar qualquer mudança no código. Essa seria a solução mais tradicional e aí ele poderia usar algo como o TheSchwartz para distribuir o trabalho. Acho que diversas pessoas por aqui já tiveram experiência com isso. Contudo, como ele não disse o problema que tem, está tendo é muita sorte de ter tantas respostas detalhadas assim. Acho que é porque o problema é interessante mesmo. -Nilson Santos F. Jr. From gsmachado em gmail.com Tue May 12 16:03:01 2009 From: gsmachado em gmail.com (Guilherme Sperb Machado) Date: Wed, 13 May 2009 01:03:01 +0200 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <9a08c9b40905101016h758fd352x2fb773cb480aa619@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> <9a08c9b40905101016h758fd352x2fb773cb480aa619@mail.gmail.com> Message-ID: <90cbfd80905121603w13383610rc1a73aacc99dfddb@mail.gmail.com> Nilson, Claro que eu li atentamente sobre o que tu falou no primeiro email... sobre eval, etc. Porém, seguinte, é impossível em perl definir ua função e atribuir a uma variável (like, $a = sub bbb{ print "abc\n"; }; ) e enviar essa variável para um OUTRO código remotamente, para que o outro programa USE a função definida na variável $a ?! Eu não testei isso com eval, porque eu nunca usei o eval explicitamente pra isso, mas creio que não funcione, porque o que tu vai passar pro eval é uma string.... e o $a, no caso do meu exemplo, eh uma referencia pra uma estrutura... ou algo do genero. Estou errado? Alguma outra sugestão? Muito obrigado por TODAS as mensagens bem interessadas... esse problema é realmente interessante, e gera sempre discussão. Abraço, Guilherme Sperb Machado 2009/5/10 Nilson Santos Figueiredo Jr. : > 2009/5/10 Joenio Costa : >> Tentando imaginar o que você está tentando fazer fico me perguntando >> se você não consegue >> resolver seu problema usando simplesmente seu sistema de controle de >> versão (git, svn, darcs, ...) >> onde os cliente monitorem mudanças num repositório central e "se" >> atualizem automaticamente >> ao notar qualquer mudança no código. > > Essa seria a solução mais tradicional e aí ele poderia usar algo como > o TheSchwartz para distribuir o trabalho. Acho que diversas pessoas > por aqui já tiveram experiência com isso. > > Contudo, como ele não disse o problema que tem, está tendo é muita > sorte de ter tantas respostas detalhadas assim. Acho que é porque o > problema é interessante mesmo. > > -Nilson Santos F. Jr. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From acid06 em gmail.com Tue May 12 16:34:44 2009 From: acid06 em gmail.com (Nilson Santos Figueiredo Jr.) Date: Tue, 12 May 2009 20:34:44 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <90cbfd80905121603w13383610rc1a73aacc99dfddb@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> <9a08c9b40905101016h758fd352x2fb773cb480aa619@mail.gmail.com> <90cbfd80905121603w13383610rc1a73aacc99dfddb@mail.gmail.com> Message-ID: <9a08c9b40905121634k121c1e87h25dff97a455764d9@mail.gmail.com> 2009/5/12 Guilherme Sperb Machado : > Porém, seguinte, é impossível em perl definir ua função e atribuir a > uma variável (like, $a = sub bbb{ print "abc\n"; }; ) e enviar essa > variável para um OUTRO código remotamente, para que o outro programa > USE a função definida na variável $a ?! > > Eu não testei isso com eval, porque eu nunca usei o eval > explicitamente pra isso, mas creio que não funcione, porque o que tu > vai passar pro eval é uma string.... e o $a, no caso do meu exemplo, > eh uma referencia pra uma estrutura... ou algo do genero. Pra ser sincero, eu não entendi exatamente o que você quis dizer. Assim como você pode serializar funções, logicamente você também pode serializar dados. E o eval() é realizado dentro do contexto léxico corrente então é possível referenciar variáveis externas (apesar de, em geral, isso ser uma má prática). Mas realmente sem entender o que você quer fazer não dá pra ajudar mais... até agora você não disse o que quer fazer, está descrevendo *como* quer fazer isso. -Nilson Santos F. Jr. From thomas em tcnet.com.br Wed May 13 10:54:09 2009 From: thomas em tcnet.com.br (Thomas Britis) Date: Wed, 13 May 2009 14:54:09 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <9a08c9b40905121634k121c1e87h25dff97a455764d9@mail.gmail.com> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> <9a08c9b40905101016h758fd352x2fb773cb480aa619@mail.gmail.com> <90cbfd80905121603w13383610rc1a73aacc99dfddb@mail.gmail.com> <9a08c9b40905121634k121c1e87h25dff97a455764d9@mail.gmail.com> Message-ID: <4A0B0941.40408@tcnet.com.br> Pelo que entendi, ele quer o seguinte: 1- Cliente sobe somente com as funções de socket() (ou que quer que seja q se comunique com o servidor). 2- Servidor diz para o cliente quais as funções que ele deve conhecer (sem que o cliente tenha idéia do que se tratava, ou seja, não são funções pré-estabelecidas). 3- Cliente executa diretivas utilizando a função recebida do servidor. Algo como: Cliente1: Estou UP e simplesmente isso. Server: Ei cliente1, conheça a função: sub foo { return q(bar); } Cliente1: Recebi uma requisição solicitando que eu execute a função foo(). E essa comunicação de funções seriam dinâmicas. Nilson Santos Figueiredo Jr. wrote: > 2009/5/12 Guilherme Sperb Machado : > >>Porém, seguinte, é impossível em perl definir ua função e atribuir a >>uma variável (like, $a = sub bbb{ print "abc\n"; }; ) e enviar essa >>variável para um OUTRO código remotamente, para que o outro programa >>USE a função definida na variável $a ?! >> >>Eu não testei isso com eval, porque eu nunca usei o eval >>explicitamente pra isso, mas creio que não funcione, porque o que tu >>vai passar pro eval é uma string.... e o $a, no caso do meu exemplo, >>eh uma referencia pra uma estrutura... ou algo do genero. > > > Pra ser sincero, eu não entendi exatamente o que você quis dizer. > Assim como você pode serializar funções, logicamente você também pode > serializar dados. > > E o eval() é realizado dentro do contexto léxico corrente então é > possível referenciar variáveis externas (apesar de, em geral, isso ser > uma má prática). > > Mas realmente sem entender o que você quer fazer não dá pra ajudar > mais... até agora você não disse o que quer fazer, está descrevendo > *como* quer fazer isso. > > -Nilson Santos F. Jr. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > > -- Thomas Storino Britis TCNet Informatica e Telecomunicacoes LTDA From daniel em ruoso.com Wed May 13 11:26:05 2009 From: daniel em ruoso.com (Daniel Ruoso) Date: Wed, 13 May 2009 15:26:05 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?Instalando_novas_fun=E7=F5es_em_um_d?= =?iso-8859-1?q?aemon_=28Was=3A=09Re=3A__Perl_Dynamic_Subroutines_/?= =?iso-8859-1?q?_Functions=29?= In-Reply-To: <4A0B0941.40408@tcnet.com.br> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> <9a08c9b40905101016h758fd352x2fb773cb480aa619@mail.gmail.com> <90cbfd80905121603w13383610rc1a73aacc99dfddb@mail.gmail.com> <9a08c9b40905121634k121c1e87h25dff97a455764d9@mail.gmail.com> <4A0B0941.40408@tcnet.com.br> Message-ID: <1242239165.3666.49.camel@cajueiro> Em Qua, 2009-05-13 às 14:54 -0300, Thomas Britis escreveu: > Algo como: > Cliente1: Estou UP e simplesmente isso. > Server: Ei cliente1, conheça a função: sub foo { return q(bar); } > Cliente1: Recebi uma requisição solicitando que eu execute a função foo(). O jeito menos tosco de fazer isso que eu consigo pensar é: Cliente1: Estou UP e simplesmente isso. Server: Ei cliente1, há um novo módulo disponível "Foo::Bar" Cliente1: Ok * Cliente1 conecta via ssh na máquina do server, baixa o módulo, checa a assinatura gpg do código, instala na sua base local e faz 'require' Server: Ei cliente1, rode Foo::Bar::baz(); Cliente1: Ok * Cliente1 simplesmente executa o código pelo nome e tudo funciona... daniel From acid06 em gmail.com Wed May 13 12:18:02 2009 From: acid06 em gmail.com (Nilson Santos Figueiredo Jr.) Date: Wed, 13 May 2009 16:18:02 -0300 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <4A0B0941.40408@tcnet.com.br> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> <9a08c9b40905101016h758fd352x2fb773cb480aa619@mail.gmail.com> <90cbfd80905121603w13383610rc1a73aacc99dfddb@mail.gmail.com> <9a08c9b40905121634k121c1e87h25dff97a455764d9@mail.gmail.com> <4A0B0941.40408@tcnet.com.br> Message-ID: <9a08c9b40905131218l44c15c5ew72c7c6ac1eea179b@mail.gmail.com> 2009/5/13 Thomas Britis : > Pelo que entendi, ele quer o seguinte: > > 1- Cliente sobe somente com as funções de socket() (ou que quer que seja q > se comunique com o servidor). > 2- Servidor diz para o cliente quais as funções que ele deve conhecer (sem > que o cliente tenha idéia do que se tratava, ou seja, não são funções > pré-estabelecidas). > 3- Cliente executa diretivas utilizando a função recebida do servidor. Este não é o problema dele, essa é a solução proposta por ele. É como se você estivesse na portaria de um prédio e perguntasse: "Como eu faço pra escalar este prédio?". Quando, na verdade, o que você quer é simplesmente chegar no 10o. andar e eu poderia apontar pra que direção fica o elevador. O problema seria algo como, por exemplo: "estou procurando uma maneira de realizar processamento distribuído de imagens, aonde cada imagem precisa de ser processada com um conjunto de filtros diferentes". -Nilaon From gsmachado em gmail.com Wed May 13 13:55:02 2009 From: gsmachado em gmail.com (Guilherme Sperb Machado) Date: Wed, 13 May 2009 22:55:02 +0200 Subject: [Cascavel-pm] Perl Dynamic Subroutines / Functions In-Reply-To: <4A0B0941.40408@tcnet.com.br> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> <9a08c9b40905101016h758fd352x2fb773cb480aa619@mail.gmail.com> <90cbfd80905121603w13383610rc1a73aacc99dfddb@mail.gmail.com> <9a08c9b40905121634k121c1e87h25dff97a455764d9@mail.gmail.com> <4A0B0941.40408@tcnet.com.br> Message-ID: <90cbfd80905131355x5075f03fve27556ae11442b0@mail.gmail.com> Thomas, Eh exatamente isso que eu QUERO FAZER, mas não sei COMO FAZER EM PERL (em termos de programação). :-) Em um proximo email, juro que explico o problema pra vocês... Ele é simples, e me indicarão milhares de outras soluções que eu tenho algum conhecimento. Porém, quero fazer o mais modular possível para que não haja mudanças nos clientes no meio do desenvolvimento... por isso, estou impondo certas restrições. :-) abraço, Guilherme Sperb Machado 2009/5/13 Thomas Britis : > Pelo que entendi, ele quer o seguinte: > > 1- Cliente sobe somente com as funções de socket() (ou que quer que seja q > se comunique com o servidor). > 2- Servidor diz para o cliente quais as funções que ele deve conhecer (sem > que o cliente tenha idéia do que se tratava, ou seja, não são funções > pré-estabelecidas). > 3- Cliente executa diretivas utilizando a função recebida do servidor. > > Algo como: > Cliente1: Estou UP e simplesmente isso. > Server: Ei cliente1, conheça a função: sub foo { return q(bar); } > Cliente1: Recebi uma requisição solicitando que eu execute a função foo(). > >        E essa comunicação de funções seriam dinâmicas. > > Nilson Santos Figueiredo Jr. wrote: >> >> 2009/5/12 Guilherme Sperb Machado : >> >>> Porém, seguinte, é impossível em perl definir ua função e atribuir a >>> uma variável (like, $a = sub bbb{ print "abc\n"; }; ) e enviar essa >>> variável para um OUTRO código remotamente, para que o outro programa >>> USE a função definida na variável $a ?! >>> >>> Eu não testei isso com eval, porque eu nunca usei o eval >>> explicitamente pra isso, mas creio que não funcione, porque o que tu >>> vai passar pro eval é uma string.... e o $a, no caso do meu exemplo, >>> eh uma referencia pra uma estrutura... ou algo do genero. >> >> >> Pra ser sincero, eu não entendi exatamente o que você quis dizer. >> Assim como você pode serializar funções, logicamente você também pode >> serializar dados. >> >> E o eval() é realizado dentro do contexto léxico corrente então é >> possível referenciar variáveis externas (apesar de, em geral, isso ser >> uma má prática). >> >> Mas realmente sem entender o que você quer fazer não dá pra ajudar >> mais... até agora você não disse o que quer fazer, está descrevendo >> *como* quer fazer isso. >> >> -Nilson Santos F. Jr. >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm >> >> > > -- > Thomas Storino Britis > TCNet Informatica e Telecomunicacoes LTDA > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From gsmachado em gmail.com Wed May 13 14:00:48 2009 From: gsmachado em gmail.com (Guilherme Sperb Machado) Date: Wed, 13 May 2009 23:00:48 +0200 Subject: [Cascavel-pm] =?iso-8859-1?q?Instalando_novas_fun=E7=F5es_em_um_d?= =?iso-8859-1?q?aemon_=28Was=3A_Re=3A_Perl_Dynamic_Subroutines_/_Fu?= =?iso-8859-1?q?nctions=29?= In-Reply-To: <1242239165.3666.49.camel@cajueiro> References: <90cbfd80905081617s7bce810bw71d23a628056a9d0@mail.gmail.com> <9a08c9b40905082243y30ce3da1mb1436215a9742cd0@mail.gmail.com> <8e3843570905090807l6c71d34bqcd126bdbfdcbee3c@mail.gmail.com> <90cbfd80905092046n5f6ef868h9e8b38ab7048b8a1@mail.gmail.com> <65934b450905100728y24a762f8n98c6e91246fb3733@mail.gmail.com> <9a08c9b40905101016h758fd352x2fb773cb480aa619@mail.gmail.com> <90cbfd80905121603w13383610rc1a73aacc99dfddb@mail.gmail.com> <9a08c9b40905121634k121c1e87h25dff97a455764d9@mail.gmail.com> <4A0B0941.40408@tcnet.com.br> <1242239165.3666.49.camel@cajueiro> Message-ID: <90cbfd80905131400m16e1396bt34459869e6f363da@mail.gmail.com> Ruoso, Essa é uma solução válida sim. Resolve meu problema com a "restrição" que tenho. Como disse na outra thread, agora quando tiver um tempo maior, eu escrevei um email mais bem elaborado pra lista pra descrever meu problema com exemplos. Muito obrigado pela ajuda, e faz muitos anos que não nos falamos.. desde o FISL de 2004 ou 05 talvez. Abraço! Guilherme Sperb Machado 2009/5/13 Daniel Ruoso : > Em Qua, 2009-05-13 às 14:54 -0300, Thomas Britis escreveu: >> Algo como: >> Cliente1: Estou UP e simplesmente isso. >> Server: Ei cliente1, conheça a função: sub foo { return q(bar); } >> Cliente1: Recebi uma requisição solicitando que eu execute a função foo(). > > O jeito menos tosco de fazer isso que eu consigo pensar é: > > Cliente1: Estou UP e simplesmente isso. > Server: Ei cliente1, há um novo módulo disponível "Foo::Bar" > Cliente1: Ok > > * Cliente1 conecta via ssh na máquina do server, baixa o módulo, checa a > assinatura gpg do código, instala na sua base local e faz 'require' > > Server: Ei cliente1, rode Foo::Bar::baz(); > Cliente1: Ok > > * Cliente1 simplesmente executa o código pelo nome e tudo funciona... > > daniel > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From daniel-vinciguerra em hotmail.com Thu May 21 10:48:18 2009 From: daniel-vinciguerra em hotmail.com (Daniel Vinciguerra) Date: Thu, 21 May 2009 13:48:18 -0400 Subject: [Cascavel-pm] Personal invitation from Daniel Vinciguerra Message-ID: <20090521134818.-1411771574@unyk.com> Personal invitation from Daniel Vinciguerra -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From breno em rio.pm.org Mon May 25 06:20:16 2009 From: breno em rio.pm.org (breno) Date: Mon, 25 May 2009 10:20:16 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?Indica=E7=F5es_para_o_Pr=EAmio_=22Wh?= =?iso-8859-1?q?ite_Camel=22?= Message-ID: Pessoal, Segue tradução de mensagem importante do David Adler. Participem! A comunidade brasileira é grande e deve ter sua voz representada internacionalmente também :-) Ps1: Por favor mandem seus emails em inglês. Peçam ajuda para alguém da comunidade se tiverem dificuldade de expor seus argumentos. Ps2: Não é pq vcs são brasileiros que precisam votar em nomes brasileiros - mas também não quer dizer que não possam. Todos do mundo (inclusive brasileiros) são elegíveis. Leiam os argumentos do David e façam suas escolhas. Só não deixem de participar! Ps3: Lembrem-se, o email deve ser enviado para "whitecamel-suggestions em pm.org", com o assunto: "White Camel Nomination :: $nome". Ps4: Vencedores anteriores: http://www.perl.org/advocacy/white_camel/ []s -b ------------------------8<------------------------ Todo ano os White Camels (Camelos Albinos) são entregues por serviço à comunidade Perl. Se você observar vencedores anteriores, perceberá que são na maioria heróis anônimos, como o premiado Eric Cholet, moderador humano de diversas listas de discussão sobre Perl, ou Jay Hannah, um dos responsáveis pelo pm.org (se você algum dia criou/manteve um grupo pm, provavelmente foi Jay quem te guiou pelo processo). Algumas dessas pessoas podem ser bem conhecidas, como Allison Randal ou Randal Schwartz, enquanto outros podem ser completos estranhos para ao menos partes do mundo, como Josh McAdams ou Jay. Alguns podem ser grandes hackers de Perl que criaram o JAPH original, mas receberam esse prêmio como um reconhecimento por suas contribuições comunitárias ao Perl, e não por sua habilidade de programação. Isso não quer dizer que um grande hacker não possa receber o prêmio, mas você não precisa ser um para ser elegível. Dito isso, o processo de nomeação para os White Camels de 2009 está aberto. Se você acha que há alguém que mereça o White Camel, agora é a hora de enviar seus nomeados. Envie-os para whitecamel-suggestions em pm.org, se possível colocando o assunto do email como "White Camel Nomination :: $nome". Verifique se você identificou corretamente o nomeado e nos diga no email por que você acha que ele/ela é uma pessoa digna de receber o prêmio. Não pense coisas como "naah, alguém vai fazer isso, não preciso me preocupar" porque a) todo mundo pode estar pensando a mesma coisa, e b) os seus argumentos podem ser diferentes do de outra pessoa. Estaremos recebendo nomes até dia 21 de Junho, 2009, meia noite, mas não espere até lá ou você pode esquecer. Envie agora! ------------------------8<------------------------ From joenio em gmail.com Mon May 25 16:45:29 2009 From: joenio em gmail.com (Joenio Costa) Date: Mon, 25 May 2009 20:45:29 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?Fwd=3A_=5BRio-pm=5D_Indica=E7=F5es_p?= =?iso-8859-1?q?ara_o_Pr=EAmio_=22White_Camel=22?= In-Reply-To: References: Message-ID: <65934b450905251645sa66c709k2649fa34c3cdac45@mail.gmail.com> ---------- Forwarded message ---------- From: breno Date: 2009/5/25 Subject: [Rio-pm] Indicações para o Prêmio "White Camel" To: Cascavel Perl Mongers , Perl Mongers Rio de Janeiro , saopaulo-pm em mail.pm.org Pessoal, Segue tradução de mensagem importante do David Adler. Participem! A comunidade brasileira é grande e deve ter sua voz representada internacionalmente também :-) Ps1: Por favor mandem seus emails em inglês. Peçam ajuda para alguém da comunidade se tiverem dificuldade de expor seus argumentos. Ps2: Não é pq vcs são brasileiros que precisam votar em nomes brasileiros - mas também não quer dizer que não possam. Todos do mundo (inclusive brasileiros) são elegíveis. Leiam os argumentos do David e façam suas escolhas. Só não deixem de participar! Ps3: Lembrem-se, o email deve ser enviado para "whitecamel-suggestions em pm.org", com o assunto: "White Camel Nomination :: $nome". Ps4: Vencedores anteriores: http://www.perl.org/advocacy/white_camel/ []s -b ------------------------8<------------------------ Todo ano os White Camels (Camelos Albinos) são entregues por serviço à comunidade Perl. Se você observar vencedores anteriores, perceberá que são na maioria heróis anônimos, como o premiado Eric Cholet, moderador humano de diversas listas de discussão sobre Perl, ou Jay Hannah, um dos responsáveis pelo pm.org (se você algum dia criou/manteve um grupo pm, provavelmente foi Jay quem te guiou pelo processo). Algumas dessas pessoas podem ser bem conhecidas, como Allison Randal ou Randal Schwartz, enquanto outros podem ser completos estranhos para ao menos partes do mundo, como Josh McAdams ou Jay. Alguns podem ser grandes hackers de Perl que criaram o JAPH original, mas receberam esse prêmio como um reconhecimento por suas contribuições comunitárias ao Perl, e não por sua habilidade de programação. Isso não quer dizer que um grande hacker não possa receber o prêmio, mas você não precisa ser um para ser elegível. Dito isso, o processo de nomeação para os White Camels de 2009 está aberto. Se você acha que há alguém que mereça o White Camel, agora é a hora de enviar seus nomeados. Envie-os para whitecamel-suggestions em pm.org, se possível colocando o assunto do email como "White Camel Nomination :: $nome". Verifique se você identificou corretamente o nomeado e nos diga no email por que você acha que ele/ela é uma pessoa digna de receber o prêmio. Não pense coisas como "naah, alguém vai fazer isso, não preciso me preocupar" porque a) todo mundo pode estar pensando a mesma coisa, e b) os seus argumentos podem ser diferentes do de outra pessoa. Estaremos recebendo nomes até dia 21 de Junho, 2009, meia noite, mas não espere até lá ou você pode esquecer. Envie agora! ------------------------8<------------------------ _______________________________________________ Rio-pm mailing list Rio-pm em pm.org http://mail.pm.org/mailman/listinfo/rio-pm -- Joenio Costa - Salvador Perl Mongers - Grupo de Usuário Perl de Salvador - Colibre - Cooperativa de Tecnologias Livres - PSL-BA - Projeto Software Livre Bahia From nferraz em gmail.com Sun May 31 12:29:59 2009 From: nferraz em gmail.com (Nelson Ferraz) Date: Sun, 31 May 2009 21:29:59 +0200 Subject: [Cascavel-pm] The speed, size and dependability of programming languages Message-ID: <604cec170905311229oed0df2eo267baac9b3174c80@mail.gmail.com> Artigo muito interessante! The Computer Language Benchmarks Game is a collection of 1368 programs, consisting of 19 benchmark reimplemented across 72 programming languages. It is a fantastic resource if you are trying to compare programming languages quantitatively. (...) I was happy to find that in addition to speed The Game also publishes a source-code-size metric for each benchmark programs in each language. Thanks to this The Game let us at explore a fascinating aspect of programming language design: the tension that exist between expressiveness and performance. It is this tension that gives the expression "higher-level programming language" a pejorative connotation. When you are coding this high, you might be writing beautiful code, but you are so far away from the hardware you can't possibly get good performance, right? If you drew the benchmark results on an XY chart you could name the four corners. The fast but verbose languages would cluster at the top left. Let's call them system languages. The elegantly concise but sluggish languages would cluster at the bottom right. Let's call them script languages. On the top right you would find the obsolete languages. That is, languages which have since been outclassed by newer languages, unless they offer some quirky attraction that is not captured by the data here. And finally, in the bottom left corner you would find probably nothing, since this is the space of the ideal language, the one which is at the same time fast and short and a joy to use. Leiam o artigo completo: http://gmarceau.qc.ca/blog/2009/05/speed-size-and-dependability-of.html -- Nelson Ferraz Free Software Foundation Associate Member #3203 Projeto Software Livre Brasil (www.softwarelivre.org.br) Sociedade Perl do Brasil (www.perl.org.br) Rede Livre de Compartilhamento de Cultura Digital