From fernandolouis em terra.com.br Fri Aug 1 05:03:05 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Fri, 1 Aug 2008 09:03:05 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?ajax_b=E1sico_+_perl?= References: <23f46d7f0807041810w28d95dbcwd3eab1d5205652ef@mail.gmail.com><3de55ead0807041843m52b3e4dfk4ca5f550550fb27e@mail.gmail.com><48709E28.1010803@yahoo.co.uk><3de55ead0807070545v14548302kc0bc2d73200df7e3@mail.gmail.com><48BCA4CB509E458F9187D8821B4EC38A@rede.local><9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com> <9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com> Message-ID: <5133E7D8A4F54487938CECE548BB7343@rede.local> Amigos, Eu já tinha indicado o Content-Type vejam: .HTML
.PL #!/usr/bin/perl print "Content-type:text/html\n\n"; print "texto emnegrito";exit; E mesmo assim a tag volta escrita literalmente na tela e não é renderizada pelo browser. Não consigo entender o porquê. []s, Fernando ----- Original Message ----- From: Fabricio Veiga To: Cascavel Perl Mongers Sent: Friday, August 01, 2008 12:14 AM Subject: Re: [Cascavel-pm] ajax básico + perl Achei: http://www.pageresource.com/cgirec/ptut4.htm #!/usr/bin/perl $retorno = "Content-type: text/html\n\n
Negritro"; print $retorno; T+ 2008/8/1 Fabricio Veiga Boa noite Fernando. Seu retorno do AJAX está sendo aloca em alguma DIV ou outro elemento html? Eu uso AJAX mas com PHP e o retorno vem com formato HTML. Um exemplo: HTML
no PHP.. Negrito
"; ?> A função testeComAjax() chama o request GET do script em PHP, retornando o "Negrito". Acredito no seu script em Perl, ajax.pl, tenha que definir antes de dar o comando print, o type do conteúdo, aquele Content-type ... Eu não lembro agora como é o Content-Type para retornar com formato HTML. Dá uma pesquisa no Google... blz? Abraços.. Fabrício Veiga. 2008/7/31 Pessoal, sou iniciante em AJAX... Uma pergunta bem básica: Pq o AJAX retorna o texto sem formatação html? Por exemplo, tenho a minha pagina.html, que via ajax chama o ajax.pl então o ajax.pl retorna: print "texto em negrinho"; só que o "negrinto" não retorna em negrito na página.html, pois as tags não são processadas e retorna o texto inteiro: "texto em negrinho" pq? como retornar o texto formatado? []s, Fernando _______________________________________________ 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 -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From gabriel.vieira em gmail.com Fri Aug 1 05:08:24 2008 From: gabriel.vieira em gmail.com (Gabriel Vieira) Date: Fri, 1 Aug 2008 09:08:24 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?ajax_b=E1sico_+_perl?= In-Reply-To: <5133E7D8A4F54487938CECE548BB7343@rede.local> References: <48709E28.1010803@yahoo.co.uk> <3de55ead0807070545v14548302kc0bc2d73200df7e3@mail.gmail.com> <48BCA4CB509E458F9187D8821B4EC38A@rede.local> <9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com> <9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com> <5133E7D8A4F54487938CECE548BB7343@rede.local> Message-ID: <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> E o conteúdo da função ajax? 2008/8/1 : > Amigos, > Eu já tinha indicado o Content-Type > > vejam: > > .HTML > > >
> > > .PL > #!/usr/bin/perl > print "Content-type:text/html\n\n"; > print "texto emnegrito";exit; > > E mesmo assim a tag volta escrita literalmente na tela e não é renderizada > pelo browser. > > Não consigo entender o porquê. > > []s, > Fernando > > ----- Original Message ----- > From: Fabricio Veiga > To: Cascavel Perl Mongers > Sent: Friday, August 01, 2008 12:14 AM > Subject: Re: [Cascavel-pm] ajax básico + perl > Achei: http://www.pageresource.com/cgirec/ptut4.htm > > #!/usr/bin/perl > > $retorno = "Content-type: text/html\n\n >
Negritro"; > > print $retorno; > > > > T+ > > 2008/8/1 Fabricio Veiga >> >> Boa noite Fernando. >> >> Seu retorno do AJAX está sendo aloca em alguma DIV ou outro elemento html? >> Eu uso AJAX mas com PHP e o retorno vem com formato HTML. Um exemplo: >> >> HTML >> >> >>
>> >> >> no PHP.. >> >> > echo "Negrito"; >> ?> >> >> A função testeComAjax() chama o request GET do script em PHP, retornando o >> "Negrito". >> Acredito no seu script em Perl, ajax.pl, tenha que definir antes de dar o >> comando print, o type do conteúdo, aquele Content-type ... Eu não lembro >> agora como é o Content-Type para retornar com formato HTML. Dá uma pesquisa >> no Google... blz? >> >> Abraços.. >> >> Fabrício Veiga. >> >> >> 2008/7/31 >>> >>> Pessoal, sou iniciante em AJAX... >>> >>> Uma pergunta bem básica: >>> >>> Pq o AJAX retorna o texto sem formatação html? >>> >>> Por exemplo, >>> >>> tenho a minha pagina.html, que via ajax chama o ajax.pl >>> >>> então o ajax.pl retorna: >>> >>> print "texto em negrinho"; >>> >>> só que o "negrinto" não retorna em negrito na página.html, pois as tags >>> não são processadas e retorna o texto inteiro: "texto em negrinho" >>> >>> pq? como retornar o texto formatado? >>> >>> []s, >>> Fernando >>> _______________________________________________ >>> 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 > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Gabriel Vieira From agnaldo em starweb-software.com.br Fri Aug 1 05:20:56 2008 From: agnaldo em starweb-software.com.br (Agnaldo Macedo) Date: Fri, 1 Aug 2008 09:20:56 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?ajax_b=E1sico_+_perl?= References: <48709E28.1010803@yahoo.co.uk><3de55ead0807070545v14548302kc0bc2d73200df7e3@mail.gmail.com><48BCA4CB509E458F9187D8821B4EC38A@rede.local><9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com><9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com><5133E7D8A4F54487938CECE548BB7343@rede.local> <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> Message-ID: <025CB159C5BA44B89DCF537F7FBAC734@swmobile> Lá no JS, no retorno do Ajax, deves fazer um unescape do cara. algo como: var htmlRetorno = unescape(ajaxObjeto.responseText.replace(/\+/g," ")); Dessa forma podes aplicar algo assim para escrever numa div da página. document.getElementById(tuaDiv).innerHTML = htmlRetorno; ----- Original Message ----- From: "Gabriel Vieira" To: "Cascavel Perl Mongers" Sent: Friday, August 01, 2008 9:08 AM Subject: Re: [Cascavel-pm] ajax básico + perl E o conteúdo da função ajax? 2008/8/1 : > Amigos, > Eu já tinha indicado o Content-Type > > vejam: > > .HTML > > >
> > > .PL > #!/usr/bin/perl > print "Content-type:text/html\n\n"; > print "texto emnegrito";exit; > > E mesmo assim a tag volta escrita literalmente na tela e não é renderizada > pelo browser. > > Não consigo entender o porquê. > > []s, > Fernando > > ----- Original Message ----- > From: Fabricio Veiga > To: Cascavel Perl Mongers > Sent: Friday, August 01, 2008 12:14 AM > Subject: Re: [Cascavel-pm] ajax básico + perl > Achei: http://www.pageresource.com/cgirec/ptut4.htm > > #!/usr/bin/perl > > $retorno = "Content-type: text/html\n\n >
Negritro"; > > print $retorno; > > > > T+ > > 2008/8/1 Fabricio Veiga >> >> Boa noite Fernando. >> >> Seu retorno do AJAX está sendo aloca em alguma DIV ou outro elemento >> html? >> Eu uso AJAX mas com PHP e o retorno vem com formato HTML. Um exemplo: >> >> HTML >> >> >>
>> >> >> no PHP.. >> >> > echo "Negrito"; >> ?> >> >> A função testeComAjax() chama o request GET do script em PHP, retornando >> o >> "Negrito". >> Acredito no seu script em Perl, ajax.pl, tenha que definir antes de dar o >> comando print, o type do conteúdo, aquele Content-type ... Eu não lembro >> agora como é o Content-Type para retornar com formato HTML. Dá uma >> pesquisa >> no Google... blz? >> >> Abraços.. >> >> Fabrício Veiga. >> >> >> 2008/7/31 >>> >>> Pessoal, sou iniciante em AJAX... >>> >>> Uma pergunta bem básica: >>> >>> Pq o AJAX retorna o texto sem formatação html? >>> >>> Por exemplo, >>> >>> tenho a minha pagina.html, que via ajax chama o ajax.pl >>> >>> então o ajax.pl retorna: >>> >>> print "texto em negrinho"; >>> >>> só que o "negrinto" não retorna em negrito na página.html, pois as tags >>> não são processadas e retorna o texto inteiro: "texto em >>> negrinho" >>> >>> pq? como retornar o texto formatado? >>> >>> []s, >>> Fernando >>> _______________________________________________ >>> 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 > > _______________________________________________ > 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 From fernandolouis em terra.com.br Fri Aug 1 05:21:26 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Fri, 1 Aug 2008 09:21:26 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?ajax_b=E1sico_+_perl?= References: <48709E28.1010803@yahoo.co.uk><3de55ead0807070545v14548302kc0bc2d73200df7e3@mail.gmail.com><48BCA4CB509E458F9187D8821B4EC38A@rede.local><9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com><9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com><5133E7D8A4F54487938CECE548BB7343@rede.local> <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> Message-ID: <92B8A86B1D124E2D8A792897482D369E@rede.local> lá vai... função AJAX: function ajax() { createRequest(); var url = "cgi-local/ajax.pl?paginaprincipal=1"; request.open("GET", url, true); request.onreadystatechange = updatePage; request.send(null); } function updatePage() { if (request.readyState == 4) { var retorno = request.responseText; var idbloco_ajax = document.getElementById("bloco_ajax"); replaceText(idbloco_ajax, retorno); } } Valeu! ----- Original Message ----- From: "Gabriel Vieira" To: "Cascavel Perl Mongers" Sent: Friday, August 01, 2008 9:08 AM Subject: Re: [Cascavel-pm] ajax básico + perl E o conteúdo da função ajax? 2008/8/1 : > Amigos, > Eu já tinha indicado o Content-Type > > vejam: > > .HTML > > >
> > > .PL > #!/usr/bin/perl > print "Content-type:text/html\n\n"; > print "texto emnegrito";exit; > > E mesmo assim a tag volta escrita literalmente na tela e não é renderizada > pelo browser. > > Não consigo entender o porquê. > > []s, > Fernando > > ----- Original Message ----- > From: Fabricio Veiga > To: Cascavel Perl Mongers > Sent: Friday, August 01, 2008 12:14 AM > Subject: Re: [Cascavel-pm] ajax básico + perl > Achei: http://www.pageresource.com/cgirec/ptut4.htm > > #!/usr/bin/perl > > $retorno = "Content-type: text/html\n\n >
Negritro"; > > print $retorno; > > > > T+ > > 2008/8/1 Fabricio Veiga >> >> Boa noite Fernando. >> >> Seu retorno do AJAX está sendo aloca em alguma DIV ou outro elemento >> html? >> Eu uso AJAX mas com PHP e o retorno vem com formato HTML. Um exemplo: >> >> HTML >> >> >>
>> >> >> no PHP.. >> >> > echo "Negrito"; >> ?> >> >> A função testeComAjax() chama o request GET do script em PHP, retornando >> o >> "Negrito". >> Acredito no seu script em Perl, ajax.pl, tenha que definir antes de dar o >> comando print, o type do conteúdo, aquele Content-type ... Eu não lembro >> agora como é o Content-Type para retornar com formato HTML. Dá uma >> pesquisa >> no Google... blz? >> >> Abraços.. >> >> Fabrício Veiga. >> >> >> 2008/7/31 >>> >>> Pessoal, sou iniciante em AJAX... >>> >>> Uma pergunta bem básica: >>> >>> Pq o AJAX retorna o texto sem formatação html? >>> >>> Por exemplo, >>> >>> tenho a minha pagina.html, que via ajax chama o ajax.pl >>> >>> então o ajax.pl retorna: >>> >>> print "texto em negrinho"; >>> >>> só que o "negrinto" não retorna em negrito na página.html, pois as tags >>> não são processadas e retorna o texto inteiro: "texto em >>> negrinho" >>> >>> pq? como retornar o texto formatado? >>> >>> []s, >>> Fernando >>> _______________________________________________ >>> 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 > > _______________________________________________ > 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 From agustinho_coelho em yahoo.com.br Fri Aug 1 06:11:09 2008 From: agustinho_coelho em yahoo.com.br (Agustinho Coelho) Date: Fri, 01 Aug 2008 10:11:09 -0300 Subject: [Cascavel-pm] Get Html com perl Message-ID: <48930B6D.6090200@yahoo.com.br> Bom dia Pessoal, Gostaria de saber como poderia com perl abrir uma página web com get e mostrar ela na tela... Eu tentei algo do tipo #!/bin/perl use strict; use warnings; use LWP::Simple; my $url = "http://suporte.simova.ws"; my $page = get( $url ); print ( "\n$page\n" ); Só que o retorno da página aparece assim:

It works!

Alguma luz de como formatar corretamente? Abs, From agustinho_coelho em yahoo.com.br Fri Aug 1 06:12:36 2008 From: agustinho_coelho em yahoo.com.br (Agustinho Coelho) Date: Fri, 01 Aug 2008 10:12:36 -0300 Subject: [Cascavel-pm] [OT] Vulnerabilidade nos servidores de DNS In-Reply-To: <9a08c9b40807291427y7d42bfcbxa249d8401bab353b@mail.gmail.com> References: <9a08c9b40807291356w193b883en1e437d21ff9253ae@mail.gmail.com> <488F8A0D.90601@yahoo.com.br> <9a08c9b40807291427y7d42bfcbxa249d8401bab353b@mail.gmail.com> Message-ID: <48930BC4.7010708@yahoo.com.br> Nilson Santos Figueiredo Junior wrote: > 2008/7/29 Agustinho Coelho : > >> Opa, é sempre bom saber dessas coisas... Se me permite uma dica é usar >> servidores dns estrangeiros (já que você não possui um dns confiável) como o >> OpenDNS: >> >> dns1: 208.67.222.222 >> dns2: 208.67.220.220 >> > > A primeira coisa que eu fiz quando descobri o problema foi trocar pro > OpenDNS (até mencionei no final da mensagem). > O problema é que eles são mais lentos. Mas pelo menos são seguros. > > -Nilson Santos F. Jr. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > > No virus found in this incoming message. > Checked by AVG - http://www.avg.com > Version: 8.0.138 / Virus Database: 270.5.7/1581 - Release Date: 7/30/2008 6:56 AM > > > > Vixi... Falha nossa... Me desculpe... não tinha percebido Nilson, foi mal! Abs, From wendelscardua em gmail.com Fri Aug 1 06:24:13 2008 From: wendelscardua em gmail.com (Wendel Scardua) Date: Fri, 1 Aug 2008 10:24:13 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?ajax_b=E1sico_+_perl?= In-Reply-To: <92B8A86B1D124E2D8A792897482D369E@rede.local> References: <3de55ead0807070545v14548302kc0bc2d73200df7e3@mail.gmail.com> <48BCA4CB509E458F9187D8821B4EC38A@rede.local> <9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com> <9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com> <5133E7D8A4F54487938CECE548BB7343@rede.local> <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> <92B8A86B1D124E2D8A792897482D369E@rede.local> Message-ID: <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> Meu palpite é que isso é erro do replaceText(), você não quer postar essa função também ? (de preferência colocando um [offtopic] no subject, que o negócio tem cara de ser problema javascríptico mesmo... ) []s Wendel 2008/8/1 : > lá vai... > > função AJAX: > > function ajax() { > createRequest(); > var url = "cgi-local/ajax.pl?paginaprincipal=1"; > request.open("GET", url, true); > request.onreadystatechange = updatePage; > request.send(null); > } > > function updatePage() { > if (request.readyState == 4) { > var retorno = request.responseText; > var idbloco_ajax = document.getElementById("bloco_ajax"); > replaceText(idbloco_ajax, retorno); > } > } > > Valeu! > > ----- Original Message ----- From: "Gabriel Vieira" > > To: "Cascavel Perl Mongers" > Sent: Friday, August 01, 2008 9:08 AM > Subject: Re: [Cascavel-pm] ajax básico + perl > > > E o conteúdo da função ajax? > > 2008/8/1 : >> >> Amigos, >> Eu já tinha indicado o Content-Type >> >> vejam: >> >> .HTML >> >> >>
>> >> >> .PL >> #!/usr/bin/perl >> print "Content-type:text/html\n\n"; >> print "texto emnegrito";exit; >> >> E mesmo assim a tag volta escrita literalmente na tela e não é renderizada >> pelo browser. >> >> Não consigo entender o porquê. >> >> []s, >> Fernando >> >> ----- Original Message ----- >> From: Fabricio Veiga >> To: Cascavel Perl Mongers >> Sent: Friday, August 01, 2008 12:14 AM >> Subject: Re: [Cascavel-pm] ajax básico + perl >> Achei: http://www.pageresource.com/cgirec/ptut4.htm >> >> #!/usr/bin/perl >> >> $retorno = "Content-type: text/html\n\n >>
Negritro"; >> >> print $retorno; >> >> >> >> T+ >> >> 2008/8/1 Fabricio Veiga >>> >>> Boa noite Fernando. >>> >>> Seu retorno do AJAX está sendo aloca em alguma DIV ou outro elemento >>> html? >>> Eu uso AJAX mas com PHP e o retorno vem com formato HTML. Um exemplo: >>> >>> HTML >>> >>> >>>
>>> >>> >>> no PHP.. >>> >>> >> echo "Negrito"; >>> ?> >>> >>> A função testeComAjax() chama o request GET do script em PHP, retornando >>> o >>> "Negrito". >>> Acredito no seu script em Perl, ajax.pl, tenha que definir antes de dar o >>> comando print, o type do conteúdo, aquele Content-type ... Eu não lembro >>> agora como é o Content-Type para retornar com formato HTML. Dá uma >>> pesquisa >>> no Google... blz? >>> >>> Abraços.. >>> >>> Fabrício Veiga. >>> >>> >>> 2008/7/31 >>>> >>>> Pessoal, sou iniciante em AJAX... >>>> >>>> Uma pergunta bem básica: >>>> >>>> Pq o AJAX retorna o texto sem formatação html? >>>> >>>> Por exemplo, >>>> >>>> tenho a minha pagina.html, que via ajax chama o ajax.pl >>>> >>>> então o ajax.pl retorna: >>>> >>>> print "texto em negrinho"; >>>> >>>> só que o "negrinto" não retorna em negrito na página.html, pois as tags >>>> não são processadas e retorna o texto inteiro: "texto em >>>> negrinho" >>>> >>>> pq? como retornar o texto formatado? >>>> >>>> []s, >>>> Fernando From nferraz em gmail.com Fri Aug 1 06:33:06 2008 From: nferraz em gmail.com (Nelson Ferraz) Date: Fri, 1 Aug 2008 15:33:06 +0200 Subject: [Cascavel-pm] Get Html com perl In-Reply-To: <48930B6D.6090200@yahoo.com.br> References: <48930B6D.6090200@yahoo.com.br> Message-ID: <604cec170808010633n5316f45ey6c1984a606fca657@mail.gmail.com> > Só que o retorno da página aparece assim: > >

It works!

> > Alguma luz de como formatar corretamente? Como assim? O codigo esta' exatamente igual ao codigo-fonte da pagina. O que voce quer exatamente? From wendelscardua em gmail.com Fri Aug 1 06:39:46 2008 From: wendelscardua em gmail.com (Wendel Scardua) Date: Fri, 1 Aug 2008 10:39:46 -0300 Subject: [Cascavel-pm] Get Html com perl In-Reply-To: <48930B6D.6090200@yahoo.com.br> References: <48930B6D.6090200@yahoo.com.br> Message-ID: <726229b50808010639s4f715d2dq49c3dbb7ef6a925b@mail.gmail.com> Isso tá parecendo mais uma instância do "Problema X/Y" (Você quer fazer X, acha que Y resolve o problema e pergunta como faz Y; sendo que se soubéssemos o que é o X alguém poderia sugerir uma solução melhor ). Nesse caso, não acho que a intenção do seu script seja apenas "mostrar uma página na tela". Porque se fosse isso, era só usar um browser; se é pra mostrar no console, existem browsers modo texto; e se é só pra mostrar e sair, tem browser modo texto que faz isso também (só não lembro qual). E se você vai fazer algum processamento envolvendo essa página, o ideal era capturar você mesmo as partes necessárias do html (com módulos de parsing, ou regexes, etc... ). Enfim, se puder explicar o que você quer fazer, as respostas podem ser mais úteis :-) []s Wendel On Fri, Aug 1, 2008 at 10:11 AM, Agustinho Coelho wrote: > Bom dia Pessoal, > > Gostaria de saber como poderia com perl abrir uma página web com get e > mostrar ela na tela... > From agustinho_coelho em yahoo.com.br Fri Aug 1 07:15:04 2008 From: agustinho_coelho em yahoo.com.br (Agustinho Coelho) Date: Fri, 01 Aug 2008 11:15:04 -0300 Subject: [Cascavel-pm] Get Html com perl In-Reply-To: <604cec170808010633n5316f45ey6c1984a606fca657@mail.gmail.com> References: <48930B6D.6090200@yahoo.com.br> <604cec170808010633n5316f45ey6c1984a606fca657@mail.gmail.com> Message-ID: <48931A68.5040509@yahoo.com.br> Um anexo em HTML foi limpo... URL: From nferraz em gmail.com Fri Aug 1 07:23:53 2008 From: nferraz em gmail.com (Nelson Ferraz) Date: Fri, 1 Aug 2008 16:23:53 +0200 Subject: [Cascavel-pm] Get Html com perl In-Reply-To: <48931A68.5040509@yahoo.com.br> References: <48930B6D.6090200@yahoo.com.br> <604cec170808010633n5316f45ey6c1984a606fca657@mail.gmail.com> <48931A68.5040509@yahoo.com.br> Message-ID: <604cec170808010723m3efc40a2n548c0d0c1fff13bf@mail.gmail.com> > Então é o seguinte, eu queria saber se teria uma forma de formatar o > código-fonte, para exibir apenas o " It Works! " sem as tags. http://search.cpan.org/~awrigley/html2text-0.003/html2text.pl From fernandolouis em terra.com.br Fri Aug 1 07:26:39 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Fri, 1 Aug 2008 11:26:39 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?ajax_b=E1sico_+_perl?= References: <3de55ead0807070545v14548302kc0bc2d73200df7e3@mail.gmail.com><48BCA4CB509E458F9187D8821B4EC38A@rede.local><9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com><9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com><5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> Message-ID: <509D2D765D5143CE99B1C3F3EC70C563@rede.local> Amigo, acredito que não seja um problema javascríptico... mas de qualquer forma, se a função para análise: function replaceText(el, text) { if (el != null) { clearText(el); var newNode = document.createTextNode(text); el.appendChild(newNode); } } agradeço a ajuda, Fernando ----- Original Message ----- From: "Wendel Scardua" To: "Cascavel Perl Mongers" Sent: Friday, August 01, 2008 10:24 AM Subject: Re: [Cascavel-pm] ajax básico + perl Meu palpite é que isso é erro do replaceText(), você não quer postar essa função também ? (de preferência colocando um [offtopic] no subject, que o negócio tem cara de ser problema javascríptico mesmo... ) []s Wendel 2008/8/1 : > lá vai... > > função AJAX: > > function ajax() { > createRequest(); > var url = "cgi-local/ajax.pl?paginaprincipal=1"; > request.open("GET", url, true); > request.onreadystatechange = updatePage; > request.send(null); > } > > function updatePage() { > if (request.readyState == 4) { > var retorno = request.responseText; > var idbloco_ajax = document.getElementById("bloco_ajax"); > replaceText(idbloco_ajax, retorno); > } > } > > Valeu! > > ----- Original Message ----- From: "Gabriel Vieira" > > To: "Cascavel Perl Mongers" > Sent: Friday, August 01, 2008 9:08 AM > Subject: Re: [Cascavel-pm] ajax básico + perl > > > E o conteúdo da função ajax? > > 2008/8/1 : >> >> Amigos, >> Eu já tinha indicado o Content-Type >> >> vejam: >> >> .HTML >> >> >>
>> >> >> .PL >> #!/usr/bin/perl >> print "Content-type:text/html\n\n"; >> print "texto emnegrito";exit; >> >> E mesmo assim a tag volta escrita literalmente na tela e não é >> renderizada >> pelo browser. >> >> Não consigo entender o porquê. >> >> []s, >> Fernando >> >> ----- Original Message ----- >> From: Fabricio Veiga >> To: Cascavel Perl Mongers >> Sent: Friday, August 01, 2008 12:14 AM >> Subject: Re: [Cascavel-pm] ajax básico + perl >> Achei: http://www.pageresource.com/cgirec/ptut4.htm >> >> #!/usr/bin/perl >> >> $retorno = "Content-type: text/html\n\n >>
Negritro"; >> >> print $retorno; >> >> >> >> T+ >> >> 2008/8/1 Fabricio Veiga >>> >>> Boa noite Fernando. >>> >>> Seu retorno do AJAX está sendo aloca em alguma DIV ou outro elemento >>> html? >>> Eu uso AJAX mas com PHP e o retorno vem com formato HTML. Um exemplo: >>> >>> HTML >>> >>> >>>
>>> >>> >>> no PHP.. >>> >>> >> echo "Negrito"; >>> ?> >>> >>> A função testeComAjax() chama o request GET do script em PHP, retornando >>> o >>> "Negrito". >>> Acredito no seu script em Perl, ajax.pl, tenha que definir antes de dar >>> o >>> comando print, o type do conteúdo, aquele Content-type ... Eu não lembro >>> agora como é o Content-Type para retornar com formato HTML. Dá uma >>> pesquisa >>> no Google... blz? >>> >>> Abraços.. >>> >>> Fabrício Veiga. >>> >>> >>> 2008/7/31 >>>> >>>> Pessoal, sou iniciante em AJAX... >>>> >>>> Uma pergunta bem básica: >>>> >>>> Pq o AJAX retorna o texto sem formatação html? >>>> >>>> Por exemplo, >>>> >>>> tenho a minha pagina.html, que via ajax chama o ajax.pl >>>> >>>> então o ajax.pl retorna: >>>> >>>> print "texto em negrinho"; >>>> >>>> só que o "negrinto" não retorna em negrito na página.html, pois as tags >>>> não são processadas e retorna o texto inteiro: "texto em >>>> negrinho" >>>> >>>> pq? como retornar o texto formatado? >>>> >>>> []s, >>>> Fernando _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From gabriel.vieira em gmail.com Fri Aug 1 07:48:58 2008 From: gabriel.vieira em gmail.com (Gabriel Vieira) Date: Fri, 1 Aug 2008 11:48:58 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?ajax_b=E1sico_+_perl?= In-Reply-To: <509D2D765D5143CE99B1C3F3EC70C563@rede.local> References: <48BCA4CB509E458F9187D8821B4EC38A@rede.local> <9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com> <9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com> <5133E7D8A4F54487938CECE548BB7343@rede.local> <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> Message-ID: <83d8367f0808010748u6b1c14aes702a63d4055493e8@mail.gmail.com> clearText(el); eu chutaria ai :D 2008/8/1 : > Amigo, acredito que não seja um problema javascríptico... mas de qualquer > forma, se a função para análise: > > function replaceText(el, text) { > if (el != null) { > clearText(el); > var newNode = document.createTextNode(text); > el.appendChild(newNode); > } > } > > agradeço a ajuda, > Fernando > > ----- Original Message ----- From: "Wendel Scardua" > > To: "Cascavel Perl Mongers" > Sent: Friday, August 01, 2008 10:24 AM > Subject: Re: [Cascavel-pm] ajax básico + perl > > > Meu palpite é que isso é erro do replaceText(), você não quer postar > essa função também ? > > (de preferência colocando um [offtopic] no subject, que o negócio tem > cara de ser problema javascríptico mesmo... ) > > []s > Wendel > > 2008/8/1 : >> >> lá vai... >> >> função AJAX: >> >> function ajax() { >> createRequest(); >> var url = "cgi-local/ajax.pl?paginaprincipal=1"; >> request.open("GET", url, true); >> request.onreadystatechange = updatePage; >> request.send(null); >> } >> >> function updatePage() { >> if (request.readyState == 4) { >> var retorno = request.responseText; >> var idbloco_ajax = document.getElementById("bloco_ajax"); >> replaceText(idbloco_ajax, retorno); >> } >> } >> >> Valeu! >> >> ----- Original Message ----- From: "Gabriel Vieira" >> >> To: "Cascavel Perl Mongers" >> Sent: Friday, August 01, 2008 9:08 AM >> Subject: Re: [Cascavel-pm] ajax básico + perl >> >> >> E o conteúdo da função ajax? >> >> 2008/8/1 : >>> >>> Amigos, >>> Eu já tinha indicado o Content-Type >>> >>> vejam: >>> >>> .HTML >>> >>> >>>
>>> >>> >>> .PL >>> #!/usr/bin/perl >>> print "Content-type:text/html\n\n"; >>> print "texto emnegrito";exit; >>> >>> E mesmo assim a tag volta escrita literalmente na tela e não é >>> renderizada >>> pelo browser. >>> >>> Não consigo entender o porquê. >>> >>> []s, >>> Fernando >>> >>> ----- Original Message ----- >>> From: Fabricio Veiga >>> To: Cascavel Perl Mongers >>> Sent: Friday, August 01, 2008 12:14 AM >>> Subject: Re: [Cascavel-pm] ajax básico + perl >>> Achei: http://www.pageresource.com/cgirec/ptut4.htm >>> >>> #!/usr/bin/perl >>> >>> $retorno = "Content-type: text/html\n\n >>>
Negritro"; >>> >>> print $retorno; >>> >>> >>> >>> T+ >>> >>> 2008/8/1 Fabricio Veiga >>>> >>>> Boa noite Fernando. >>>> >>>> Seu retorno do AJAX está sendo aloca em alguma DIV ou outro elemento >>>> html? >>>> Eu uso AJAX mas com PHP e o retorno vem com formato HTML. Um exemplo: >>>> >>>> HTML >>>> >>>> >>>>
>>>> >>>> >>>> no PHP.. >>>> >>>> >>> echo "Negrito"; >>>> ?> >>>> >>>> A função testeComAjax() chama o request GET do script em PHP, retornando >>>> o >>>> "Negrito". >>>> Acredito no seu script em Perl, ajax.pl, tenha que definir antes de dar >>>> o >>>> comando print, o type do conteúdo, aquele Content-type ... Eu não lembro >>>> agora como é o Content-Type para retornar com formato HTML. Dá uma >>>> pesquisa >>>> no Google... blz? >>>> >>>> Abraços.. >>>> >>>> Fabrício Veiga. >>>> >>>> >>>> 2008/7/31 >>>>> >>>>> Pessoal, sou iniciante em AJAX... >>>>> >>>>> Uma pergunta bem básica: >>>>> >>>>> Pq o AJAX retorna o texto sem formatação html? >>>>> >>>>> Por exemplo, >>>>> >>>>> tenho a minha pagina.html, que via ajax chama o ajax.pl >>>>> >>>>> então o ajax.pl retorna: >>>>> >>>>> print "texto em negrinho"; >>>>> >>>>> só que o "negrinto" não retorna em negrito na página.html, pois as tags >>>>> não são processadas e retorna o texto inteiro: "texto em >>>>> negrinho" >>>>> >>>>> pq? como retornar o texto formatado? >>>>> >>>>> []s, >>>>> Fernando > > _______________________________________________ > 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 > -- Gabriel Vieira From mdacwb em gmail.com Fri Aug 1 10:20:32 2008 From: mdacwb em gmail.com (Marco A P D'Andrade) Date: Fri, 1 Aug 2008 14:20:32 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?=3COT=3E_ajax_b=E1sico_+_perl?= Message-ID: <42dcdd750808011020i71faf437h5b7b01cbd458e228@mail.gmail.com> Acredito que já solucionado, mas em todo caso... Quando vc acrescenta o conteúdo através de AJAX, vc deve ter o cuidado sobre qual propriedade vc está indicando. Não sei de suas necessidades, mas nas minhas poucas incursoes, eu sempre tinha um elemento de interface que receberia a atualização, mesmo que estivesse escondido, um teste simples, em JS mesmo é trocar o conteúdo de um div ... #-- js.html
Teste INICIAL
#-- eof Para utilizar AJAX é importante mais que conhecer os comandos, é conhecer os elementos envolvidos: HTML JS Linguagem server-side HTML DOM (especialmente como procurar propriedades) Uma excelente ferramenta para auxiliar é o FireBug, complemento do Firefox. Sem ele eu jamais teria terminado um projeto que peguei a alguns meses... Sds, Marco Antonio 2008/8/1 Gabriel Vieira > clearText(el); eu chutaria ai :D > > 2008/8/1 : > > Amigo, acredito que não seja um problema javascríptico... mas de qualquer > > forma, se a função para análise: > > > > function replaceText(el, text) { > > if (el != null) { > > clearText(el); > > var newNode = document.createTextNode(text); > > el.appendChild(newNode); > > } > > } > > > > agradeço a ajuda, > > Fernando > > > > ----- Original Message ----- From: "Wendel Scardua" > > > > To: "Cascavel Perl Mongers" > > Sent: Friday, August 01, 2008 10:24 AM > > Subject: Re: [Cascavel-pm] ajax básico + perl > > > > > > Meu palpite é que isso é erro do replaceText(), você não quer postar > > essa função também ? > > > > (de preferência colocando um [offtopic] no subject, que o negócio tem > > cara de ser problema javascríptico mesmo... ) > > > > []s > > Wendel > > > > 2008/8/1 : > >> > >> lá vai... > >> > >> função AJAX: > >> > >> function ajax() { > >> createRequest(); > >> var url = "cgi-local/ajax.pl?paginaprincipal=1"; > >> request.open("GET", url, true); > >> request.onreadystatechange = updatePage; > >> request.send(null); > >> } > >> > >> function updatePage() { > >> if (request.readyState == 4) { > >> var retorno = request.responseText; > >> var idbloco_ajax = document.getElementById("bloco_ajax"); > >> replaceText(idbloco_ajax, retorno); > >> } > >> } > >> > >> Valeu! > >> > >> ----- Original Message ----- From: "Gabriel Vieira" > >> > >> To: "Cascavel Perl Mongers" > >> Sent: Friday, August 01, 2008 9:08 AM > >> Subject: Re: [Cascavel-pm] ajax básico + perl > >> > >> > >> E o conteúdo da função ajax? > >> > >> 2008/8/1 : > >>> > >>> Amigos, > >>> Eu já tinha indicado o Content-Type > >>> > >>> vejam: > >>> > >>> .HTML > >>> > >>> > >>>
> >>> > >>> > >>> .PL > >>> #!/usr/bin/perl > >>> print "Content-type:text/html\n\n"; > >>> print "texto emnegrito";exit; > >>> > >>> E mesmo assim a tag volta escrita literalmente na tela e não é > >>> renderizada > >>> pelo browser. > >>> > >>> Não consigo entender o porquê. > >>> > >>> []s, > >>> Fernando > >>> > >>> ----- Original Message ----- > >>> From: Fabricio Veiga > >>> To: Cascavel Perl Mongers > >>> Sent: Friday, August 01, 2008 12:14 AM > >>> Subject: Re: [Cascavel-pm] ajax básico + perl > >>> Achei: http://www.pageresource.com/cgirec/ptut4.htm > >>> > >>> #!/usr/bin/perl > >>> > >>> $retorno = "Content-type: text/html\n\n > >>>
Negritro"; > >>> > >>> print $retorno; > >>> > >>> > >>> > >>> T+ > >>> > >>> 2008/8/1 Fabricio Veiga > >>>> > >>>> Boa noite Fernando. > >>>> > >>>> Seu retorno do AJAX está sendo aloca em alguma DIV ou outro elemento > >>>> html? > >>>> Eu uso AJAX mas com PHP e o retorno vem com formato HTML. Um exemplo: > >>>> > >>>> HTML > >>>> > >>>> > >>>>
> >>>> > >>>> > >>>> no PHP.. > >>>> > >>>> >>>> echo "Negrito"; > >>>> ?> > >>>> > >>>> A função testeComAjax() chama o request GET do script em PHP, > retornando > >>>> o > >>>> "Negrito". > >>>> Acredito no seu script em Perl, ajax.pl, tenha que definir antes de > dar > >>>> o > >>>> comando print, o type do conteúdo, aquele Content-type ... Eu não > lembro > >>>> agora como é o Content-Type para retornar com formato HTML. Dá uma > >>>> pesquisa > >>>> no Google... blz? > >>>> > >>>> Abraços.. > >>>> > >>>> Fabrício Veiga. > >>>> > >>>> > >>>> 2008/7/31 > >>>>> > >>>>> Pessoal, sou iniciante em AJAX... > >>>>> > >>>>> Uma pergunta bem básica: > >>>>> > >>>>> Pq o AJAX retorna o texto sem formatação html? > >>>>> > >>>>> Por exemplo, > >>>>> > >>>>> tenho a minha pagina.html, que via ajax chama o ajax.pl > >>>>> > >>>>> então o ajax.pl retorna: > >>>>> > >>>>> print "texto em negrinho"; > >>>>> > >>>>> só que o "negrinto" não retorna em negrito na página.html, pois as > tags > >>>>> não são processadas e retorna o texto inteiro: "texto em > >>>>> negrinho" > >>>>> > >>>>> pq? como retornar o texto formatado? > >>>>> > >>>>> []s, > >>>>> Fernando > > > > _______________________________________________ > > 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 > > > > > > -- > Gabriel Vieira > _______________________________________________ > 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 mdacwb em gmail.com Fri Aug 1 10:35:48 2008 From: mdacwb em gmail.com (Marco A P D'Andrade) Date: Fri, 1 Aug 2008 14:35:48 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?=3COT=3E_ajax_b=E1sico_+_perl?= In-Reply-To: <42dcdd750808011020i71faf437h5b7b01cbd458e228@mail.gmail.com> References: <42dcdd750808011020i71faf437h5b7b01cbd458e228@mail.gmail.com> Message-ID: <42dcdd750808011035ta0ddc73w23127fd1a36f46e4@mail.gmail.com> Ops... Para conhecer mais detalhas sobre HTML DOM e Ajax, sugiro o site: http://www.w3schools.com/ Não é completo, mas tenha paciência em seguir os passos sugeridos, e lhe dará excelente base ;) Sds, Marco Antonio 2008/8/1 Marco A P D'Andrade > Acredito que já solucionado, mas em todo caso... > > Quando vc acrescenta o conteúdo através de AJAX, vc deve ter o cuidado > sobre qual propriedade vc está indicando. > > Não sei de suas necessidades, mas nas minhas poucas incursoes, eu sempre > tinha um elemento de interface que receberia a atualização, mesmo que > estivesse escondido, um teste simples, em JS mesmo é trocar o conteúdo de um > div ... > > > #-- js.html >
> Teste INICIAL >
> > > #-- eof > > Para utilizar AJAX é importante mais que conhecer os comandos, é conhecer > os elementos envolvidos: > HTML > JS > Linguagem server-side > HTML DOM (especialmente como procurar propriedades) > > Uma excelente ferramenta para auxiliar é o FireBug, complemento do Firefox. > Sem ele eu jamais teria terminado um projeto que peguei a alguns meses... > > > Sds, > Marco Antonio > > 2008/8/1 Gabriel Vieira > >> clearText(el); eu chutaria ai :D >> >> 2008/8/1 : >> > Amigo, acredito que não seja um problema javascríptico... mas de >> qualquer >> > forma, se a função para análise: >> > >> > function replaceText(el, text) { >> > if (el != null) { >> > clearText(el); >> > var newNode = document.createTextNode(text); >> > el.appendChild(newNode); >> > } >> > } >> > >> > agradeço a ajuda, >> > Fernando >> > >> > ----- Original Message ----- From: "Wendel Scardua" >> > >> > To: "Cascavel Perl Mongers" >> > Sent: Friday, August 01, 2008 10:24 AM >> > Subject: Re: [Cascavel-pm] ajax básico + perl >> > >> > >> > Meu palpite é que isso é erro do replaceText(), você não quer postar >> > essa função também ? >> > >> > (de preferência colocando um [offtopic] no subject, que o negócio tem >> > cara de ser problema javascríptico mesmo... ) >> > >> > []s >> > Wendel >> > >> > 2008/8/1 : >> >> >> >> lá vai... >> >> >> >> função AJAX: >> >> >> >> function ajax() { >> >> createRequest(); >> >> var url = "cgi-local/ajax.pl?paginaprincipal=1"; >> >> request.open("GET", url, true); >> >> request.onreadystatechange = updatePage; >> >> request.send(null); >> >> } >> >> >> >> function updatePage() { >> >> if (request.readyState == 4) { >> >> var retorno = request.responseText; >> >> var idbloco_ajax = document.getElementById("bloco_ajax"); >> >> replaceText(idbloco_ajax, retorno); >> >> } >> >> } >> >> >> >> Valeu! >> >> >> >> ----- Original Message ----- From: "Gabriel Vieira" >> >> >> >> To: "Cascavel Perl Mongers" >> >> Sent: Friday, August 01, 2008 9:08 AM >> >> Subject: Re: [Cascavel-pm] ajax básico + perl >> >> >> >> >> >> E o conteúdo da função ajax? >> >> >> >> 2008/8/1 : >> >>> >> >>> Amigos, >> >>> Eu já tinha indicado o Content-Type >> >>> >> >>> vejam: >> >>> >> >>> .HTML >> >>> >> >>> >> >>>
>> >>> >> >>> >> >>> .PL >> >>> #!/usr/bin/perl >> >>> print "Content-type:text/html\n\n"; >> >>> print "texto emnegrito";exit; >> >>> >> >>> E mesmo assim a tag volta escrita literalmente na tela e não é >> >>> renderizada >> >>> pelo browser. >> >>> >> >>> Não consigo entender o porquê. >> >>> >> >>> []s, >> >>> Fernando >> >>> >> >>> ----- Original Message ----- >> >>> From: Fabricio Veiga >> >>> To: Cascavel Perl Mongers >> >>> Sent: Friday, August 01, 2008 12:14 AM >> >>> Subject: Re: [Cascavel-pm] ajax básico + perl >> >>> Achei: http://www.pageresource.com/cgirec/ptut4.htm >> >>> >> >>> #!/usr/bin/perl >> >>> >> >>> $retorno = "Content-type: text/html\n\n >> >>>
Negritro"; >> >>> >> >>> print $retorno; >> >>> >> >>> >> >>> >> >>> T+ >> >>> >> >>> 2008/8/1 Fabricio Veiga >> >>>> >> >>>> Boa noite Fernando. >> >>>> >> >>>> Seu retorno do AJAX está sendo aloca em alguma DIV ou outro elemento >> >>>> html? >> >>>> Eu uso AJAX mas com PHP e o retorno vem com formato HTML. Um exemplo: >> >>>> >> >>>> HTML >> >>>> >> >>>> >> >>>>
>> >>>> >> >>>> >> >>>> no PHP.. >> >>>> >> >>>> > >>>> echo "Negrito"; >> >>>> ?> >> >>>> >> >>>> A função testeComAjax() chama o request GET do script em PHP, >> retornando >> >>>> o >> >>>> "Negrito". >> >>>> Acredito no seu script em Perl, ajax.pl, tenha que definir antes de >> dar >> >>>> o >> >>>> comando print, o type do conteúdo, aquele Content-type ... Eu não >> lembro >> >>>> agora como é o Content-Type para retornar com formato HTML. Dá uma >> >>>> pesquisa >> >>>> no Google... blz? >> >>>> >> >>>> Abraços.. >> >>>> >> >>>> Fabrício Veiga. >> >>>> >> >>>> >> >>>> 2008/7/31 >> >>>>> >> >>>>> Pessoal, sou iniciante em AJAX... >> >>>>> >> >>>>> Uma pergunta bem básica: >> >>>>> >> >>>>> Pq o AJAX retorna o texto sem formatação html? >> >>>>> >> >>>>> Por exemplo, >> >>>>> >> >>>>> tenho a minha pagina.html, que via ajax chama o ajax.pl >> >>>>> >> >>>>> então o ajax.pl retorna: >> >>>>> >> >>>>> print "texto em negrinho"; >> >>>>> >> >>>>> só que o "negrinto" não retorna em negrito na página.html, pois as >> tags >> >>>>> não são processadas e retorna o texto inteiro: "texto em >> >>>>> negrinho" >> >>>>> >> >>>>> pq? como retornar o texto formatado? >> >>>>> >> >>>>> []s, >> >>>>> Fernando >> > >> > _______________________________________________ >> > 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 >> > >> >> >> >> -- >> Gabriel Vieira >> _______________________________________________ >> 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 acid06 em gmail.com Fri Aug 1 10:38:03 2008 From: acid06 em gmail.com (Nilson Santos Figueiredo Junior) Date: Fri, 1 Aug 2008 14:38:03 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?ajax_b=E1sico_+_perl?= In-Reply-To: <509D2D765D5143CE99B1C3F3EC70C563@rede.local> References: <48BCA4CB509E458F9187D8821B4EC38A@rede.local> <9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com> <9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com> <5133E7D8A4F54487938CECE548BB7343@rede.local> <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> Message-ID: <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> 2008/8/1 : > function replaceText(el, text) { > if (el != null) { > clearText(el); > var newNode = document.createTextNode(text); > el.appendChild(newNode); > } > } O erro está aqui. Como você quer criar um Text Node sendo que quer que seja criado uma tag html? Seu código JavaScript está errado. Em sua função updatePage simplesmente substitua a chamada ao replaceText por: idbloco_ajax.innerHTML = retorno; Que tudo vai funcionar. O que você tem no servidor não afeta de forma alguma nada disso. "AJAX" é só um nome bonitinho para o carregamento de páginas de maneira assíncrona via JavaScript e não muda em NADA os seus scripts server-side (além do fato de que, muitas vezes, você irá ter que gerar somente uma parte de uma página e não ela inteira). Se você carregasse a URL na mão, veria que aparece em negrito normalmente. -Nilson Santos F. Jr. From fernandolouis em terra.com.br Fri Aug 1 10:42:52 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Fri, 1 Aug 2008 14:42:52 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?=3COT=3E_ajax_b=E1sico_+_perl?= References: <42dcdd750808011020i71faf437h5b7b01cbd458e228@mail.gmail.com> Message-ID: Amigos, não consegui achar solução. Vejam o exemplo online na forma completa: www.kussvanderlinde.adv.br/index1.htm , talvez nela vocês me ajudem melhor com o problema de renderizar elementos html - Gabriel, clearText(el) não pode ser, pois só está livrando-se de qualquer filho existente. tentei com "innerhtml", "header(content-type:text/html);", "request.setRequestHeader", etc ...nada! Estou ficando louco com um problema que parece tão simples. abraço Fernando -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From fernandolouis em terra.com.br Fri Aug 1 10:49:30 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Fri, 1 Aug 2008 14:49:30 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?ajax_b=E1sico_+_perl?= References: <48BCA4CB509E458F9187D8821B4EC38A@rede.local><9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com><9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com><5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> Message-ID: Muito obrigado Nilson, era isso mesmo! agradeço também a explicação... agora compreendi. Valeu pessoal! Fernando ----- Original Message ----- From: "Nilson Santos Figueiredo Junior" To: "Cascavel Perl Mongers" Sent: Friday, August 01, 2008 2:38 PM Subject: Re: [Cascavel-pm] ajax básico + perl 2008/8/1 : > function replaceText(el, text) { > if (el != null) { > clearText(el); > var newNode = document.createTextNode(text); > el.appendChild(newNode); > } > } O erro está aqui. Como você quer criar um Text Node sendo que quer que seja criado uma tag html? Seu código JavaScript está errado. Em sua função updatePage simplesmente substitua a chamada ao replaceText por: idbloco_ajax.innerHTML = retorno; Que tudo vai funcionar. O que você tem no servidor não afeta de forma alguma nada disso. "AJAX" é só um nome bonitinho para o carregamento de páginas de maneira assíncrona via JavaScript e não muda em NADA os seus scripts server-side (além do fato de que, muitas vezes, você irá ter que gerar somente uma parte de uma página e não ela inteira). Se você carregasse a URL na mão, veria que aparece em negrito normalmente. -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 Fri Aug 1 10:50:48 2008 From: acid06 em gmail.com (Nilson Santos Figueiredo Junior) Date: Fri, 1 Aug 2008 14:50:48 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?=3COT=3E_ajax_b=E1sico_+_perl?= In-Reply-To: References: <42dcdd750808011020i71faf437h5b7b01cbd458e228@mail.gmail.com> Message-ID: <9a08c9b40808011050n1ee8d558ubecb0c0fd6a00882@mail.gmail.com> 2008/8/1 : > Amigos, não consegui achar solução. Eu já te expliquei a solução em outro email, inclusive indicando qual alteração deveria ser feita no seu código para que isso funcione. Além disso, ao invés de utilzar estes exemplos de qualidade duvidosa existentes na internet, sugiro a utilização de alguma biblioteca em JavaScript para isso como JQuery ou YUI (mas até mesmo utilizar a prototype.js é melhor que simplesmente fazer nada mão, mas não a recomendo). -Nilson Santos F. Jr. From mdacwb em gmail.com Fri Aug 1 11:54:35 2008 From: mdacwb em gmail.com (Marco A P D'Andrade) Date: Fri, 1 Aug 2008 15:54:35 -0300 Subject: [Cascavel-pm] Fwd: [OT] Vulnerabilidade nos servidores de DNS In-Reply-To: <42dcdd750808011151i32a90685x10b57e85ed7a40ea@mail.gmail.com> References: <9a08c9b40807291356w193b883en1e437d21ff9253ae@mail.gmail.com> <42dcdd750808011055wa8735eft711f500a9d89b8bd@mail.gmail.com> <42dcdd750808011135pba1291vaa8344fc60f8ca6b@mail.gmail.com> <42dcdd750808011151i32a90685x10b57e85ed7a40ea@mail.gmail.com> Message-ID: <42dcdd750808011154k25d15f61o3dc79185a367f118@mail.gmail.com> 4 tentativas :( ---------- Forwarded message ---------- From: Marco A P D'Andrade Date: 2008/8/1 Subject: Fwd: [Cascavel-pm] [OT] Vulnerabilidade nos servidores de DNS To: Cascavel Perl Mongers , Perl Mongers Rio de Janeiro Mais uma vez !! Filtro de conteúdo no gmail !! O simples fato de ter a sequencia doxpara Technical details of permanent failure: Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 552 552 dox NO dns5.com in dob.sibl.support-intelligence.net: Blocked, See: http://support-intelligence.com/dob/ (state 18). ---------- Forwarded message ---------- From: Marco A P D'Andrade Date: 2008/8/1 Subject: Fwd: [Cascavel-pm] [OT] Vulnerabilidade nos servidores de DNS To: Cascavel Perl Mongers , Perl Mongers Rio de Janeiro Tentanto novamente ... ---------- Forwarded message ---------- From: Marco A P D'Andrade Date: 2008/8/1 Subject: Re: [Cascavel-pm] [OT] Vulnerabilidade nos servidores de DNS To: Cascavel Perl Mongers , Perl Mongers Rio de Janeiro Ai, gostei da ferramenta ! Acabei me entusiasmando e dissecando os recursos utilizados ;) O que achei mais interessante foi o mecanismo que deduzo foi utilizado para fazer este teste. Acessar uma URL randomica DNS com mascaramento e logs de todas as queries ( *.doxpara.com ) Pagina web fazendo requisição via ajax para obter resultado da avaliação. http://c4f393x416da.dox X X dns1.com/printme.html Formado da requisicao Ajax: http://c4f393x416da.dox X X dns1.com/fprint/c4f393x416da Obtendo e parseando o resultado das queries recebidas: 1. Fazer query em um nameserver qualquer: dig c4f393x416da.dox X X dns1.com @DNS_SERVER 2. Obter o log http://149.20.56.5/fprint/c4f393x416da 3. Split em linhas pela "," (virgula) c4f393x416da.dox X X dns5.com Thu Jul 31 16:55:17 2008 -25250-7189 -46570-11638 -14444-22563 -34078-22680 -62670-31603 4. Pela descrição do site, o problema tem relação com numeros de portas origens para as requisições sequenciais, como neste caso: c4f393x416da.dox X X dns5.com Thu Jul 31 17:00:41 2008 200.XX.225.1-53-21217 200.XX.225.1-53-21225 200.XX.225.1-53-21655 200.XX.225.1-53-21700 200.XX.225.1-53-21713 E olha que a minha query foi recusada !! Considerando a porta de origem igual, este seria um nameserver diagnosticado como vulneravel. Como me foi pedido para não fazer intervenção nos DNS's daqui, já que já tem gente suficiente trabalhando nisto, não me dei ao trabalho de estudar a falha (se alguem puder resumir, é bem vindo), mas entendo que o risco se dê por queries seguidas de um spoof de respostas, que devem chegar antes, em um momento que aquele servidor não tenha a informação cacheada... Me parece, em minha vâ filosofia, que se fosse utilizado um forward para um servidor diferente, o DNS já estaria seguro, pois as respostas não seriam recebidas pelo servidor consultado, mas por um central, desconhecido pelo atacante... mas é mera especulação sem conhecimento completo de causa, que eu precisava compartilhar com alguem ;) Sds, Marco Antonio 2008/7/29 Nilson Santos Figueiredo Junior > > Olá pessoal, > > Me desculpem pela mensagem off-topic, mas considero este um assunto > bastante importante. > > Eu estava com a sensação de que a "internet estava estranha" de uma > semana pra cá e estava incomodado com isso. Os domínios estão > demorando pra resolver e coisas assim. > > Enfim, eu fui procurar saber e faz pelo menos uma semana que um bug > nos servidores de DNS vazou, que afetava praticamente todos os > servidores do mundo. > > http://beezari.livejournal.com/141796.html > http://www.theregister.co.uk/2008/07/24/dns_exploit_goes_wild/ > > Aí tem um site pra checar se o servidor de DNS que você usa é > vulnerável ao ataque: > > http://www.doxpara.com/ > > Aí eu verifiquei e o meu servidor de DNS (o da Way/Oi Internet) está vulnerável. > > Eu sugiro que vocês verifiquem se o de vocês também está vulnerável e, > caso esteja, não utilizem nenhum serviço como banco online ou coisas > assim (ou troquem o servidor de DNS pra algo como o OpenDNS). Caso > notem que o servidor do local de trabalho / universidade também é > vulnerável, sugiro que notifiquem os administradores. > > -Nilson Santos F. Jr. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm From breno em rio.pm.org Fri Aug 1 12:53:22 2008 From: breno em rio.pm.org (breno) Date: Fri, 1 Aug 2008 16:53:22 -0300 Subject: [Cascavel-pm] [Rio-pm] Fwd: [OT] Vulnerabilidade nos servidores de DNS In-Reply-To: <42dcdd750808011154k25d15f61o3dc79185a367f118@mail.gmail.com> References: <9a08c9b40807291356w193b883en1e437d21ff9253ae@mail.gmail.com> <42dcdd750808011055wa8735eft711f500a9d89b8bd@mail.gmail.com> <42dcdd750808011135pba1291vaa8344fc60f8ca6b@mail.gmail.com> <42dcdd750808011151i32a90685x10b57e85ed7a40ea@mail.gmail.com> <42dcdd750808011154k25d15f61o3dc79185a367f118@mail.gmail.com> Message-ID: 2008/8/1 Marco A P D'Andrade : > > Como me foi pedido para não fazer intervenção nos DNS's daqui, já > que já tem gente suficiente trabalhando nisto, não me dei ao trabalho > de estudar a falha (se alguem puder resumir, é bem vindo), mas entendo > que o risco se dê por queries seguidas de um spoof de respostas, que > devem chegar antes, em um momento que aquele servidor não tenha a > informação cacheada... > > > Me parece, em minha vâ filosofia, que se fosse utilizado um forward > para um servidor diferente, o DNS já estaria seguro, pois as respostas > não seriam recebidas pelo servidor consultado, mas por um central, > desconhecido pelo atacante... mas é mera especulação sem conhecimento > completo de causa, que eu precisava compartilhar com alguem ;) > Opa, eu não sou muito de contribuir em off-topics, mas o assunto realmente é importante então talvez ajude a mostrar a necessidade de atualizar servidores - ou simplesmente satisfazer um pouco a curiosidade do MDA :-) Na ocasião do lançamento do primeiro exploit público da vulnerabilidade, mandei um email para a lista do curso de pentest da Clavis detalhando um pouco mais a questão. O mesmo deverá ser expandido, revisado e estruturado na forma de artigo para o GRIS/UFRJ em um futuro próximo. Aos interessados, segue o forward: []s -b ---------- Forwarded message ---------- From: Breno G. de Oliveira Date: 2008/7/23 Subject: sobre os novos (e velhos) ataques a servidores DNS To: curso_pentest em clavis.com.br Oi Pessoal, como vimos durante o curso, há duas formas clássicas de atacarmos servidores DNS (cache poisoning): 1) A primeira envolve uma corrida contra o servidor verdadeiro, onde torcemos para nossa resposta maliciosa chegar antes da resposta legítima. Esse método traduz uma vulnerabilidade inerente do protocolo DNS, sem correção evidente. O que se faz na indústria para mitigar o problema é adicionar dificuldade em criar respostas válidas (i.e., que serão aceitas pelo cliente que fez a consulta DNS, seja um host final ou outro servidor DNS) usando valores aleatórios tanto para o campo ID (de 16 bits, responsável por identificar a transação solicitada) do header DNS quanto para a porta de origem da solicitação (a de destino é, naturalmente, 53). Assim, a menos que vc esteja monitorando ativamente as requisições de seu alvo (como fizemos em classe), fica difícil prever tais valores a fim de mandar respostas constantes "cegamente" ao alvo do envenenamento, (sem ao menos saber se ou quando ele fez a solicitação!), esperando que ela vença a corrida UDP. Nesse cenário (sem monitorar a comunicação), é preciso muito poder de banda e processamento (sem falar cara-de-pau) para um ataque desse tipo funcionar, a menos que alguém consiga prever com certa precisão os valores dos campos ID e SourcePort dos pacotes DNS da vítima. Pois é. Em 2007, Amit Klein da Trusteer lançou um artigo que apresenta um algoritmo capaz de prever o próximo ID e a próxima porta de requisições feitas por um servidor BIND 9.O artigo pode ser obtido em http://www.trusteer.com/bind9dns. Há pelo menos um exploit para essa vulnerabilidade, disponível em http://www.milw0rm.com/exploits/4266 2) A segunda forma é mais elegante, e envolve o envio de RRs (Resource Records) adicionais à vítima. Ela pergunta: "quem é www.exemplo.com.br?" e vc responde: "www.exemplo.com.br é 1.2.3.4 e, a propósito, www.site-legitimo.com.br é 4.3.2.1". Para contornar esse problema, clientes e servidores DNS costumam fazem verificação de autoridade para saber se as informações respondidas pelo servidor deveriam de fato vir do servidor. Isso previne também ataques um pouco mais elaborados nessa estrutura, como uma resposta do tipo: "www.exemplo.com.br eu não sei, mas é resolvido por ns.google.com, e ns.google.com.br é 4.3.2.1). Essa foi a grande onda de '95, mas agora (felizmente) a grande maioria dos servidores DNS estão protegidos desse tipo de ataque, certo? Bom... quase :-) Ataques que misturam as abordagens 1 e 2 podem ser usados de uma forma mais eficaz do que separadamente. No início deste ano, Dan Kaminski modelou um ataque extremamente poderoso dessa forma. Tão poderoso que culminou na criação de um grupo de trabalho envolvendo os principais desenvolvedores de servidores DNS em um esforço conjunto (sediado na própria Microsoft) para a resolução do problema e divulgação (dia 8 de julho agora) de atualizações simultâneas para seus produtos - seguidos de uma forte orientação para que administradores atualizem seus sistemas. 13 dias depois (ontem), informações detalhadas sobre o ataque foram divulgadas e já existem exploits disponíveis. Mas como funciona esse novo ataque? Se enviarmos uma resposta maliciosa fingindo ser do dominio "exemplo.com.br", podemos devolver não apenas o endereço solicitado (e.g. www.exemplo.com.br) como outros do mesmo dominio (e.g. intranet.exemplo.com.br) nos RRs adicionais. Esse tipo de resposta adicional dentro do mesmo domínio é aceita (pois passa no teste de verificação de autoridade) e costuma visar a otimização dos tempos de resposta e evitar solicitações futuras previsíveis. Mas ainda temos que correr contra o servidor DNS verdadeiro e, se perdermos essa corrida, precisaremos esperar o cache expirar para tentar a sorte novamente. Para contornar esse problema e tornar o ataque efetivo, fazemos com que nossa vítima procure não por "www.exemplo.com.br", mas por um endereço inválido qualquer, como "aaaaa.exemplo.com.br". Enquanto o servidor DNS verdadeiro deve responder com a mensagem NXDOMAIN ("domínio não existe"), sua resposta maliciosa deve conter qualquer coisa para esse endereço específico (qualquer coisa mesmo, não importa) e adicionar à resposta um RR adicional dizendo que "www.exemplo.com.br" aponta para o IP malicioso! Até aí nada de mais, é apenas uma variação do ataque #2 respondendo a informação adicional para o mesmo domínio em vez de para um dominio alternativo. Ainda temos que vencer a corrida! A grande sacada está em forçar a vítima a fazer *diversas* queries DNS para servidores inexistentes, para que possamos repetir a corrida tantas vezes quanto necessário. Ou seja: se perdemos com "aaaaa.exemplo.com.br", tentamos novamente com "aaaab.exemplo.com.br", "aaaac.exemplo.com.br".... até um improvável "zzzzz.exemplo.com.br". E digo improvável pois, em 26^5 solicitações (11.881.376), não vencer nenhuma corrida é muita falta de sorte :-) Estimativas sugerem que ataques bem sucedidos podem ser feitos em menos de 10 segundos em servidores DNS sem as correções aplicadas. 10 segundos! Lembrem-se também que ataques a servidores DNS são facilitados quando tiramos o destino original do ar (assim, corremos apenas contra nós mesmos). Duas formas eficientes de se retirar servidores DNS do ar são: Servidores DNS utilizam o protocolo UDP para responder solicitações, e TCP para transferência de zona. Como mensagens UDP estão limitadas a 512 bytes (sem contar os cabeçalhos UDP e IP), respostas maiores são truncadas e possuem o bit TC ativo no header. Algumas implementações, no entanto, optam por solicitações DNS via TCP para esses casos, evitando assim que os dados sejam truncados - mas abrindo toda uma gama de possibilidades de ataques, e por isso é recomendado que conexões TCP/53 sejam sempre desativadas em ambientes hostis como a Internet. Mas, voltando à ataques de negação de serviços a servidores DNS. Se eles aceitam conexões TCP (quer para transferência de zona ou para transações DNS via TCP), teremos algumas vantagens em cima de ataques de flooding tradicionais via TCP. Do RFC 1035 que especifica o DNS, seção 4.2.2 ("TCP Usage"): -------------------------8<--------------------------- - The server should assume that the client will initiate connection closing, and should delay closing its end of the connection until all outstanding client requests have been satisfied. - If the server needs to close a dormant connection to reclaim resources, it should wait until the connection has been idle for a period on the order of two minutes. In particular, the server should allow the SOA and AXFR request sequence (which begins a refresh operation) to be made on a single connection. Since the server would be unable to answer queries anyway, a unilateral close or reset may be used instead of a graceful close. -------------------------8<--------------------------- Então, ataques de SYN flooding contra a porta 53/tcp devem ser bastante eficazes. Outra possibilidade é fazer diversas solicitações que obriguem o servidor DNS alvo do DoS a pedir a informação a outros servidores DNS (em particular, servidores que você controle) e aumentar o tempo de resposta através do envio de informações adicionais desnecessárias e demoradas (como registros TXT grosseiramente exagerados). Sintam-se como sempre à vontade para usarem a lista a fim de discutir essas e outras questões! []s breno From fernandolouis em terra.com.br Mon Aug 4 05:12:52 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Mon, 4 Aug 2008 09:12:52 -0300 Subject: [Cascavel-pm] url: passagem de valores References: <48BCA4CB509E458F9187D8821B4EC38A@rede.local><9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com><9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com><5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> Message-ID: <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> Na seguinte url estou passando o valor da variável "teste=são", ou seja: www.dominio.com/cgi-local/programa.pl?teste=são porem ao verificar o que tem dentro da variável teste, ao invés de "são", tem "são". Por que? Já houve esse problema comigo anteriormente, mas não lembro mais como fazer para que não haja esta alteração. Até por curiosidade, o CUIL (concorrente do google... http://www.cuil.com) tem esse problema. Se a descrição do site encontrado, contiver acentuação, tudo é trocado, onde algumas palavras chegam a ficar ilegíveis. Acredito que esse é um problema muito grande pra quem quer dar um chega-pra-lá no gigante das buscas. []s, Fernando From edencardim em gmail.com Mon Aug 4 05:20:47 2008 From: edencardim em gmail.com (Eden Cardim) Date: Mon, 4 Aug 2008 09:20:47 -0300 Subject: [Cascavel-pm] url: passagem de valores In-Reply-To: <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> References: <9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com> <9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com> <5133E7D8A4F54487938CECE548BB7343@rede.local> <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> Message-ID: <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> 2008/8/4 : > Na seguinte url estou passando o valor da variável "teste=são", ou seja: > > www.dominio.com/cgi-local/programa.pl?teste=são > > porem ao verificar o que tem dentro da variável teste, ao invés de "são", > tem "são". > > Por que? > > Já houve esse problema comigo anteriormente, mas não lembro mais como fazer > para que não haja esta alteração. > > Até por curiosidade, o CUIL (concorrente do google... http://www.cuil.com) > tem esse problema. Se a descrição do site encontrado, contiver acentuação, > tudo é trocado, onde algumas palavras chegam a ficar ilegíveis. > Acredito que esse é um problema muito grande pra quem quer dar um > chega-pra-lá no gigante das buscas. Você precisa codificar qualquer caracter que não seja uma letra ou dígito ASCII para o seu valor hexadecimal, o módulo URI faz isso pra você automaticamente. -- edenc.vox.com From fernandolouis em terra.com.br Mon Aug 4 05:40:40 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Mon, 4 Aug 2008 09:40:40 -0300 Subject: [Cascavel-pm] url: passagem de valores References: <9955defa0807312009l75da5917ya960091be1247c2b@mail.gmail.com><9955defa0807312014l4a76665dwf98370063abf298e@mail.gmail.com><5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> Message-ID: Mas porque as vezes funciona sem mesmo fazer essa codificação? ----- Original Message ----- From: "Eden Cardim" To: "Cascavel Perl Mongers" Sent: Monday, August 04, 2008 9:20 AM Subject: Re: [Cascavel-pm] url: passagem de valores 2008/8/4 : > Na seguinte url estou passando o valor da variável "teste=são", ou seja: > > www.dominio.com/cgi-local/programa.pl?teste=são > > porem ao verificar o que tem dentro da variável teste, ao invés de "são", > tem "são". > > Por que? > > Já houve esse problema comigo anteriormente, mas não lembro mais como > fazer > para que não haja esta alteração. > > Até por curiosidade, o CUIL (concorrente do google... http://www.cuil.com) > tem esse problema. Se a descrição do site encontrado, contiver acentuação, > tudo é trocado, onde algumas palavras chegam a ficar ilegíveis. > Acredito que esse é um problema muito grande pra quem quer dar um > chega-pra-lá no gigante das buscas. Você precisa codificar qualquer caracter que não seja uma letra ou dígito ASCII para o seu valor hexadecimal, o módulo URI faz isso pra você automaticamente. -- edenc.vox.com _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From edencardim em gmail.com Mon Aug 4 05:47:16 2008 From: edencardim em gmail.com (Eden Cardim) Date: Mon, 4 Aug 2008 09:47:16 -0300 Subject: [Cascavel-pm] url: passagem de valores In-Reply-To: References: <5133E7D8A4F54487938CECE548BB7343@rede.local> <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> Message-ID: <3de55ead0808040547j60f365d2t8dbfdd4903f1194d@mail.gmail.com> 2008/8/4 : > Mas porque as vezes funciona sem mesmo fazer essa codificação? Um relógio quebrado indica a hora certa 2 vezes por dia. -- edenc.vox.com From luismottacampos em yahoo.co.uk Mon Aug 4 05:54:35 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Mon, 04 Aug 2008 14:54:35 +0200 Subject: [Cascavel-pm] url: passagem de valores In-Reply-To: <3de55ead0808040547j60f365d2t8dbfdd4903f1194d@mail.gmail.com> References: <5133E7D8A4F54487938CECE548BB7343@rede.local> <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <3de55ead0808040547j60f365d2t8dbfdd4903f1194d@mail.gmail.com> Message-ID: <4896FC0B.3000801@yahoo.co.uk> Eden Cardim wrote: > 2008/8/4 : >> Mas porque as vezes funciona sem mesmo fazer essa codificação? > > Um relógio quebrado indica a hora certa 2 vezes por dia. Talvez mais: depende da forma como o relógio está quebrado e de quem lê o relógio... mas sim, pelo menos duas vezes por dia. ;-) (Eden Cardim)++ # sabe consertar relógios quebrados. Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From otaviof em gmail.com Mon Aug 4 06:11:50 2008 From: otaviof em gmail.com (=?ISO-8859-1?Q?Ot=E1vio_Fernandes?=) Date: Mon, 4 Aug 2008 10:11:50 -0300 Subject: [Cascavel-pm] url: passagem de valores In-Reply-To: References: <5133E7D8A4F54487938CECE548BB7343@rede.local> <83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com> <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> Message-ID: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Olá Fernando, Acredito que funciona pela codificação do browser e do seu servidor. Se os dois estiverem em UTF-8 ou ISO-8859-1, você tem uma grande _chance_ do seu software reconhecer caracteres especiais. Antes de desenvolver uma aplicação Web, eu acredito, que você deve estudar a fundo como o protocolo HTTP funciona, fazer este investimento agora, vai te dar muitos lucros a curto/médio prazo. um abraço, -- | -- | Otávio Fernandes | -- From fernandolouis em terra.com.br Mon Aug 4 07:05:42 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Mon, 4 Aug 2008 11:05:42 -0300 Subject: [Cascavel-pm] url: passagem de valores References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: Legal Otávio, já estou estudando o assunto. Abraço, Fernando ----- Original Message ----- From: "Otávio Fernandes" To: "Cascavel Perl Mongers" Sent: Monday, August 04, 2008 10:11 AM Subject: Re: [Cascavel-pm] url: passagem de valores Olá Fernando, Acredito que funciona pela codificação do browser e do seu servidor. Se os dois estiverem em UTF-8 ou ISO-8859-1, você tem uma grande _chance_ do seu software reconhecer caracteres especiais. Antes de desenvolver uma aplicação Web, eu acredito, que você deve estudar a fundo como o protocolo HTTP funciona, fazer este investimento agora, vai te dar muitos lucros a curto/médio prazo. um abraço, -- | -- | Otávio Fernandes | -- _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From agnaldo em starweb-software.com.br Mon Aug 4 07:13:52 2008 From: agnaldo em starweb-software.com.br (Agnaldo Macedo) Date: Mon, 4 Aug 2008 11:13:52 -0300 Subject: [Cascavel-pm] OT - Alterar code page IIS References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: <1EFC1208D96D4CE38BA30408C33256F5@swmobile> Olá pessoal. No Apache, existe uma diretiva para alterar o code-page em uso. Existe algo equivalente no IIS ? From fernandop.linux em gmail.com Mon Aug 4 08:05:24 2008 From: fernandop.linux em gmail.com (Fernando Pereira) Date: Mon, 4 Aug 2008 12:05:24 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?Rota=E7=E3o_de_Tabelas_=28Was=3A_Re?= =?iso-8859-1?q?=3A_Perl_MySQL_binlog=29?= In-Reply-To: <1217382322.24094.15.camel@pitombeira> References: <488A0FCF.60700@yahoo.co.uk> <1217382322.24094.15.camel@pitombeira> Message-ID: as minhas tabelas, seriam inoodb, entao por isso, nunca vi essa situação funcionando, poderia me explicar melhor como ela funciona? Obrigado 2008/7/29 Daniel Ruoso > Sex, 2008-07-25 às 14:48 -0300, Fernando Pereira escreveu: > > Amigos, > > A situação é a seguinte: > > Por isso a minha dúvida de se alguem já o utilizou. > > Uma pergunta ingênua... > > Qual o problema com a boa e velha rotação de tabelas, que faz com que > você tenha tabelas antigas que voce pode fazer um table-level-lock > porque não tem ninguém tentando ler? Com isso você pode usar o bom e > velho mysql dump para fazer o backup do histórico... > > daniel > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Best Regards y Saludos Fernando Pereira -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From mdacwb em gmail.com Mon Aug 4 08:58:15 2008 From: mdacwb em gmail.com (Marco A P D'Andrade) Date: Mon, 4 Aug 2008 12:58:15 -0300 Subject: [Cascavel-pm] [Rio-pm] Fwd: [OT] Vulnerabilidade nos servidores de DNS In-Reply-To: <42dcdd750808011428k218b6f31nc57b91024a8c41f7@mail.gmail.com> References: <9a08c9b40807291356w193b883en1e437d21ff9253ae@mail.gmail.com> <42dcdd750808011055wa8735eft711f500a9d89b8bd@mail.gmail.com> <42dcdd750808011135pba1291vaa8344fc60f8ca6b@mail.gmail.com> <42dcdd750808011151i32a90685x10b57e85ed7a40ea@mail.gmail.com> <42dcdd750808011154k25d15f61o3dc79185a367f118@mail.gmail.com> <42dcdd750808011428k218b6f31nc57b91024a8c41f7@mail.gmail.com> Message-ID: <42dcdd750808040858k4c08d071t4132b75f95d0c372@mail.gmail.com> Para encerrar o tema, chegou à meu conhecimento um aviso do CERT, relativo a problemas de DNS. Por sinal eles utilizam um esquema similar ao demonstrado anteriormente, mas melhor elaborado (visualmente)! http://2642efe12765161057ca96a3.et.dns-oarc.net/ ========== Texto CERT =========== Gostariamos de solicitar que: * Seja efetuado o upgrade do software de DNS deste servidor o mais rapido possivel. Uma descricao do problema e possiveis solucoes sao descritas em: http://www.us-cert.gov/cas/techalerts/TA08-190B.html http://www.kb.cert.org/vuls/id/800113 http://eng.registro.br/pipermail/gter/2008-July/019316.html Caso o upgrade ja' tenha sido feito, favor desconsiderar esta mensagem. Se voce nao for a pessoa correta para corrigir o problema deste servidor DNS, por favor repasse essa mensagem para alguem de sua organizacao que possa faze-lo. Mais detalhes sobre o porque do envio desta mensagem, quem e' o CERT.br, como confirmar que o seu servidor e' vulneravel e como resolver este problema estao listados abaixo. Ao final deste email segue o IP do servidor DNS afetado. Cordialmente, CERT.br http://www.cert.br/ ====================================================================== * O que e' um ataque de DNS cache poisoning? O ataque de DNS cache poisoning (envenamento de cache) e' uma tecnica que permite a um atacante introduzir informacao DNS forjada no cache de um servidor DNS. * Este servidor DNS nao e' um recursivo aberto e nao aceita consultas do mundo externo. Ainda assim estou vulneravel? Sim, se o servidor e' recursivo e possui uma versao vulneravel do software de DNS, isto ja' permite que o ataque seja realizado. A atualiacao do servidor e' a unica maneira de mitigar o ataque. * Por que devo me preocupar com isso? Ataques de DNS cache poisoning podem trazer riscos aos clientes que utilizem este servidor, que podem ser direcionados a sites incorretos, possivelmente maliciosos e sob o controle do atacante. Programas que exploram esta vulnerabilidade ja' estao publicamente disponiveis. * Onde posso obter informacoes sobre o problema e como soluciona-lo? - Multiple DNS implementations vulnerable to cache poisoning http://www.kb.cert.org/vuls/id/800113 * Como posso testar se meu servidor e' vulneravel? - check your resolver's source port behavior https://www.dns-oarc.net/oarc/services/porttest - o mesmo teste, mas usando nslookup de maquinas Windows nslookup -type=txt -timeout=30 porttest.dns-oarc.net - Web-based DNS Randomness Test https://www.dns-oarc.net/oarc/services/dnsentropy * Alem de aplicar o patch, tem algo a mais que eu possa fazer? Sim, aplicar o patch e' muito importante, mas nao e' a solucao definitiva para o problema de DNS cache poisoning. Uma solucao mais permanente e' tambem a adocao de DNSSEC: - Info: DNSSEC http://registro.br/info/dnssec.html * O CERT.br esta' fazendo testes nos meus servidores? Nao. O Registro.br, atraves da analise das consultas que recebe, identificou uma serie de servidores DNS recursivos vulneraveis. O CERT.br esta' notificando os responsaveis pelos servidores presentes nesta lista. * Por que estou recebendo essa mensagem? Voce esta' recebendo esse email por estar listado em http://registro.br/ como contato desta rede ou dominio. Se voce for contato de varias redes diferentes e' possivel que voce receba mais de um email, com conteudos diferentes. Por favor nao apague outras copias que vier a receber. * O que e' o CERT.br? O CERT.br -- Centro de Estudos, Resposta e Tratamento de Incidentes de Seguranca no Brasil -- e' o Grupo de Resposta a Incidentes de Seguranca para a Internet brasileira, mantido pelo NIC.br do Comite Gestor da Internet no Brasil. E' o grupo responsavel por tratar incidentes de seguranca em computadores, envolvendo redes conectadas `a Internet brasileira. * O que e' o Registro.br? O Registro.br e' a entidade, no Brasil, responsavel pelas atividades de registro de nomes de dominio, administracao e publicacao do DNS para o dominio .br, alem da distribuicao de enderecos Internet. ============================ Sds, Marco Antonio 2008/8/1 Marco A P D'Andrade : > eheheh > > Breno... > > > Vc realmente é válido o argumento de que vc escreve muito :D > > Eu acho que não fui claro quando pedi um "resumo" :D > > > > De qualquer forma, agradeço a atenção ! > > Sds, > Marco Antonio > > 2008/8/1 breno >> >> 2008/8/1 Marco A P D'Andrade : >> > >> > Como me foi pedido para não fazer intervenção nos DNS's daqui, já >> > que já tem gente suficiente trabalhando nisto, não me dei ao trabalho >> > de estudar a falha (se alguem puder resumir, é bem vindo), mas entendo >> > que o risco se dê por queries seguidas de um spoof de respostas, que >> > devem chegar antes, em um momento que aquele servidor não tenha a >> > informação cacheada... >> > >> > >> > Me parece, em minha vâ filosofia, que se fosse utilizado um forward >> > para um servidor diferente, o DNS já estaria seguro, pois as respostas >> > não seriam recebidas pelo servidor consultado, mas por um central, >> > desconhecido pelo atacante... mas é mera especulação sem conhecimento >> > completo de causa, que eu precisava compartilhar com alguem ;) >> > >> >> Opa, eu não sou muito de contribuir em off-topics, mas o assunto >> realmente é importante então talvez ajude a mostrar a necessidade de >> atualizar servidores - ou simplesmente satisfazer um pouco a >> curiosidade do MDA :-) >> >> Na ocasião do lançamento do primeiro exploit público da >> vulnerabilidade, mandei um email para a lista do curso de pentest da >> Clavis detalhando um pouco mais a questão. O mesmo deverá ser >> expandido, revisado e estruturado na forma de artigo para o GRIS/UFRJ >> em um futuro próximo. Aos interessados, segue o forward: >> >> []s >> >> -b >> >> ---------- Forwarded message ---------- >> From: Breno G. de Oliveira >> Date: 2008/7/23 >> Subject: sobre os novos (e velhos) ataques a servidores DNS >> To: curso_pentest em clavis.com.br >> >> >> Oi Pessoal, >> >> como vimos durante o curso, há duas formas clássicas de atacarmos >> servidores DNS (cache poisoning): >> >> 1) A primeira envolve uma corrida contra o servidor verdadeiro, onde >> torcemos para nossa resposta maliciosa chegar antes da resposta >> legítima. Esse método traduz uma vulnerabilidade inerente do protocolo >> DNS, sem correção evidente. O que se faz na indústria para mitigar o >> problema é adicionar dificuldade em criar respostas válidas (i.e., que >> serão aceitas pelo cliente que fez a consulta DNS, seja um host final >> ou outro servidor DNS) usando valores aleatórios tanto para o campo ID >> (de 16 bits, responsável por identificar a transação solicitada) do >> header DNS quanto para a porta de origem da solicitação (a de destino >> é, naturalmente, 53). Assim, a menos que vc esteja monitorando >> ativamente as requisições de seu alvo (como fizemos em classe), fica >> difícil prever tais valores a fim de mandar respostas constantes >> "cegamente" ao alvo do envenenamento, (sem ao menos saber se ou quando >> ele fez a solicitação!), esperando que ela vença a corrida UDP. >> >> Nesse cenário (sem monitorar a comunicação), é preciso muito poder de >> banda e processamento (sem falar cara-de-pau) para um ataque desse >> tipo funcionar, a menos que alguém consiga prever com certa precisão >> os valores dos campos ID e SourcePort dos pacotes DNS da vítima. Pois >> é. >> >> Em 2007, Amit Klein da Trusteer lançou um artigo que apresenta um >> algoritmo capaz de prever o próximo ID e a próxima porta de >> requisições feitas por um servidor BIND 9.O artigo pode ser obtido em >> http://www.trusteer.com/bind9dns. Há pelo menos um exploit para essa >> vulnerabilidade, disponível em http://www.milw0rm.com/exploits/4266 >> >> >> 2) A segunda forma é mais elegante, e envolve o envio de RRs (Resource >> Records) adicionais à vítima. Ela pergunta: "quem é >> www.exemplo.com.br?" e vc responde: "www.exemplo.com.br é 1.2.3.4 e, a >> propósito, www.site-legitimo.com.br é 4.3.2.1". Para contornar esse >> problema, clientes e servidores DNS costumam fazem verificação de >> autoridade para saber se as informações respondidas pelo servidor >> deveriam de fato vir do servidor. Isso previne também ataques um pouco >> mais elaborados nessa estrutura, como uma resposta do tipo: >> "www.exemplo.com.br eu não sei, mas é resolvido por ns.google.com, e >> ns.google.com.br é 4.3.2.1). Essa foi a grande onda de '95, mas agora >> (felizmente) a grande maioria dos servidores DNS estão protegidos >> desse tipo de ataque, certo? Bom... quase :-) >> >> Ataques que misturam as abordagens 1 e 2 podem ser usados de uma forma >> mais eficaz do que separadamente. No início deste ano, Dan Kaminski >> modelou um ataque extremamente poderoso dessa forma. Tão poderoso que >> culminou na criação de um grupo de trabalho envolvendo os principais >> desenvolvedores de servidores DNS em um esforço conjunto (sediado na >> própria Microsoft) para a resolução do problema e divulgação (dia 8 de >> julho agora) de atualizações simultâneas para seus produtos - seguidos >> de uma forte orientação para que administradores atualizem seus >> sistemas. 13 dias depois (ontem), informações detalhadas sobre o >> ataque foram divulgadas e já existem exploits disponíveis. Mas como >> funciona esse novo ataque? >> >> Se enviarmos uma resposta maliciosa fingindo ser do dominio >> "exemplo.com.br", podemos devolver não apenas o endereço solicitado >> (e.g. www.exemplo.com.br) como outros do mesmo dominio (e.g. >> intranet.exemplo.com.br) nos RRs adicionais. Esse tipo de resposta >> adicional dentro do mesmo domínio é aceita (pois passa no teste de >> verificação de autoridade) e costuma visar a otimização dos tempos de >> resposta e evitar solicitações futuras previsíveis. Mas ainda temos >> que correr contra o servidor DNS verdadeiro e, se perdermos essa >> corrida, precisaremos esperar o cache expirar para tentar a sorte >> novamente. >> >> Para contornar esse problema e tornar o ataque efetivo, fazemos com >> que nossa vítima procure não por "www.exemplo.com.br", mas por um >> endereço inválido qualquer, como "aaaaa.exemplo.com.br". Enquanto o >> servidor DNS verdadeiro deve responder com a mensagem NXDOMAIN >> ("domínio não existe"), sua resposta maliciosa deve conter qualquer >> coisa para esse endereço específico (qualquer coisa mesmo, não >> importa) e adicionar à resposta um RR adicional dizendo que >> "www.exemplo.com.br" aponta para o IP malicioso! >> >> Até aí nada de mais, é apenas uma variação do ataque #2 respondendo a >> informação adicional para o mesmo domínio em vez de para um dominio >> alternativo. Ainda temos que vencer a corrida! A grande sacada está em >> forçar a vítima a fazer *diversas* queries DNS para servidores >> inexistentes, para que possamos repetir a corrida tantas vezes quanto >> necessário. Ou seja: se perdemos com "aaaaa.exemplo.com.br", tentamos >> novamente com "aaaab.exemplo.com.br", "aaaac.exemplo.com.br".... até >> um improvável "zzzzz.exemplo.com.br". E digo improvável pois, em 26^5 >> solicitações (11.881.376), não vencer nenhuma corrida é muita falta de >> sorte :-) >> >> Estimativas sugerem que ataques bem sucedidos podem ser feitos em >> menos de 10 segundos em servidores DNS sem as correções aplicadas. 10 >> segundos! >> >> >> Lembrem-se também que ataques a servidores DNS são facilitados quando >> tiramos o destino original do ar (assim, corremos apenas contra nós >> mesmos). Duas formas eficientes de se retirar servidores DNS do ar >> são: >> >> Servidores DNS utilizam o protocolo UDP para responder solicitações, e >> TCP para transferência de zona. Como mensagens UDP estão limitadas a >> 512 bytes (sem contar os cabeçalhos UDP e IP), respostas maiores são >> truncadas e possuem o bit TC ativo no header. Algumas implementações, >> no entanto, optam por solicitações DNS via TCP para esses casos, >> evitando assim que os dados sejam truncados - mas abrindo toda uma >> gama de possibilidades de ataques, e por isso é recomendado que >> conexões TCP/53 sejam sempre desativadas em ambientes hostis como a >> Internet. >> >> Mas, voltando à ataques de negação de serviços a servidores DNS. Se >> eles aceitam conexões TCP (quer para transferência de zona ou para >> transações DNS via TCP), teremos algumas vantagens em cima de ataques >> de flooding tradicionais via TCP. Do RFC 1035 que especifica o DNS, >> seção 4.2.2 ("TCP Usage"): >> >> -------------------------8<--------------------------- >> - The server should assume that the client will initiate connection >> closing, and should delay closing its end of the connection until all >> outstanding client requests have been satisfied. >> >> - If the server needs to close a dormant connection to reclaim >> resources, it should wait until the connection has been idle for a >> period on the order of two minutes. In particular, the server should >> allow the SOA and AXFR request sequence (which begins a refresh >> operation) to be made on a single connection. Since the server would >> be unable to answer queries anyway, a unilateral close or reset may be >> used instead of a graceful close. >> -------------------------8<--------------------------- >> >> Então, ataques de SYN flooding contra a porta 53/tcp devem ser >> bastante eficazes. Outra possibilidade é fazer diversas solicitações >> que obriguem o servidor DNS alvo do DoS a pedir a informação a outros >> servidores DNS (em particular, servidores que você controle) e >> aumentar o tempo de resposta através do envio de informações >> adicionais desnecessárias e demoradas (como registros TXT >> grosseiramente exagerados). >> >> >> Sintam-se como sempre à vontade para usarem a lista a fim de discutir >> essas e outras questões! >> >> >> []s >> >> breno >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm em pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm > > From daniel em ruoso.com Mon Aug 4 11:42:43 2008 From: daniel em ruoso.com (Daniel Ruoso) Date: Mon, 04 Aug 2008 15:42:43 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?Rota=E7=E3o_de_Tabelas_=28Was=3A=09R?= =?iso-8859-1?q?e=3A_Perl_MySQL_binlog=29?= In-Reply-To: References: <488A0FCF.60700@yahoo.co.uk> <1217382322.24094.15.camel@pitombeira> Message-ID: <1217875363.18301.13.camel@pitombeira> Seg, 2008-08-04 às 12:05 -0300, Fernando Pereira escreveu: > as minhas tabelas, seriam inoodb, entao por isso, nunca vi essa > situação funcionando, > poderia me explicar melhor como ela funciona? Não tenho certeza da sintaxe no mysql... mas é mais ou menos assim: CREATE TABLE temporarioxyz (....); INSERT INTO temporarioxyz (SELECT * FROM xyz WHERE data < ?); DELETE FROM xyz WHERE data < ?; agora vc pode fazer um dump da tabela temporarioxyz sem medo, porque o seu sistema transacional não está tentando ler dela. daniel From elvio.barbalho em gmail.com Wed Aug 6 12:43:54 2008 From: elvio.barbalho em gmail.com (Elvio Barbalho) Date: Wed, 6 Aug 2008 16:43:54 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?vari=E1veis_de_ambiente?= Message-ID: <8fb8eacb0808061243y10693e9fve533eb555b25f807@mail.gmail.com> senhores boa tarde poderiam me exemplos de como eu pego os valores das variáveis de ambiente????? -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From fernandocorrea em gmail.com Wed Aug 6 12:46:31 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Wed, 6 Aug 2008 16:46:31 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?vari=E1veis_de_ambiente?= In-Reply-To: <8fb8eacb0808061243y10693e9fve533eb555b25f807@mail.gmail.com> References: <8fb8eacb0808061243y10693e9fve533eb555b25f807@mail.gmail.com> Message-ID: > perl -e 'print $ENV{HOME}, $/' /export/home/oidvap15 2008/8/6 Elvio Barbalho > senhores boa tarde poderiam me exemplos de como eu pego os valores das > variáveis de ambiente????? > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From mdacwb em gmail.com Wed Aug 6 12:47:07 2008 From: mdacwb em gmail.com (Marco A P D'Andrade) Date: Wed, 6 Aug 2008 16:47:07 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?vari=E1veis_de_ambiente?= In-Reply-To: <8fb8eacb0808061243y10693e9fve533eb555b25f807@mail.gmail.com> References: <8fb8eacb0808061243y10693e9fve533eb555b25f807@mail.gmail.com> Message-ID: <42dcdd750808061247n4b4cb661o817b13e37544973b@mail.gmail.com> $ENV{_VAR_NAME} Exemplo: $ENV{PATH} Outras variaveis disponíveis em http://perldoc.perl.org/perlvar.html Sds, Marco Antonio 2008/8/6 Elvio Barbalho : > senhores boa tarde poderiam me exemplos de como eu pego os valores das > variáveis de ambiente????? > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From fernandocorrea em gmail.com Wed Aug 6 12:49:35 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Wed, 6 Aug 2008 16:49:35 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?vari=E1veis_de_ambiente?= In-Reply-To: <42dcdd750808061247n4b4cb661o817b13e37544973b@mail.gmail.com> References: <8fb8eacb0808061243y10693e9fve533eb555b25f807@mail.gmail.com> <42dcdd750808061247n4b4cb661o817b13e37544973b@mail.gmail.com> Message-ID: perl -e 'print "$_ => $ENV{$_}$/" for keys %ENV' 2008/8/6 Marco A P D'Andrade > $ENV{_VAR_NAME} > > Exemplo: > > $ENV{PATH} > > Outras variaveis disponíveis em http://perldoc.perl.org/perlvar.html > > > Sds, > Marco Antonio > > 2008/8/6 Elvio Barbalho : > > senhores boa tarde poderiam me exemplos de como eu pego os valores das > > variáveis de ambiente????? > > _______________________________________________ > > 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 > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From lorn.br em gmail.com Wed Aug 6 12:55:29 2008 From: lorn.br em gmail.com (Lindolfo "Lorn" Rodrigues) Date: Wed, 6 Aug 2008 16:55:29 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?vari=E1veis_de_ambiente?= In-Reply-To: References: <8fb8eacb0808061243y10693e9fve533eb555b25f807@mail.gmail.com> <42dcdd750808061247n4b4cb661o817b13e37544973b@mail.gmail.com> Message-ID: Se vc digitou export FOO=42; para pegar dentro do perl é só usar $ENV{FOO}. 2008/8/6 Fernando Oliveira > perl -e 'print "$_ => $ENV{$_}$/" for keys %ENV' > > 2008/8/6 Marco A P D'Andrade > >> $ENV{_VAR_NAME} >> >> Exemplo: >> >> $ENV{PATH} >> >> Outras variaveis disponíveis em http://perldoc.perl.org/perlvar.html >> >> >> Sds, >> Marco Antonio >> >> 2008/8/6 Elvio Barbalho : >> > senhores boa tarde poderiam me exemplos de como eu pego os valores das >> > variáveis de ambiente????? >> > _______________________________________________ >> > 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 >> > > > > -- > Just another Perl Hacker, > Fernando (SmokeMachine) > http://perl-e.org > > _______________________________________________ > 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 elvio.barbalho em gmail.com Fri Aug 8 14:11:27 2008 From: elvio.barbalho em gmail.com (Elvio Barbalho) Date: Fri, 8 Aug 2008 18:11:27 -0300 Subject: [Cascavel-pm] reutilizar variaveis Message-ID: <8fb8eacb0808081411l621cc8efubf44e02ade10376d@mail.gmail.com> Senhores boa noite tenho a seguinte instrução abaixo: my $sth2 = $dbh->prepare(" Declare v_msg_erro VARCHAR (150); BEGIN GNVBILLCANCEL.CREATEREBILLFORCUSTOMER(?,?); GNVGEN.GNVCOMMIT; COMMIT; EXCEPTION WHEN OTHERS THEN v_msg_erro := SUBSTR (SQLERRM, 1, 100); INSERT /*+APPEND*/INTO extract.ope_analise_controle_erro (customer_ref, account_num, data_insert, cod_erro, ds_erro) VALUES (?, null,SYSDATE,'CANCEL_FAT', 'CREATEREBILLFORCUSTOMER: '||v_msg_erro); COMMIT; END;") or die("nao foi possivel preparar o comando: ", $dbh->errstr(), "\n"); $sth2->bind_param( 1, $customer); $sth2->bind_param(2, $descicao); $sth2->execute() or die ("Nao foi possivel executar o comando:", $sth->errstr(),"\n"); no insert INSERT /*+APPEND..........* *o primeiro campo a ser inserido e o conteudo armazenado em *$sth2->bind_param( 1, $customer);* que tambem é utilizado em *"GNVBILLCANCEL.**CREATEREBILLFORCUSTOMER(?,?);"* tenho que declara-lo ($sth2->bind_param( 3, $customer); novamente para utiliza-lo no insert??????? nao teria uma forma de utilizar $sth2->bind_param( 1, $customer); que ja esta declarado???????? -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From luismottacampos em yahoo.co.uk Fri Aug 8 14:50:15 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Fri, 08 Aug 2008 23:50:15 +0200 Subject: [Cascavel-pm] reutilizar variaveis In-Reply-To: <8fb8eacb0808081411l621cc8efubf44e02ade10376d@mail.gmail.com> References: <8fb8eacb0808081411l621cc8efubf44e02ade10376d@mail.gmail.com> Message-ID: <489CBF97.50908@yahoo.co.uk> Elvio Barbalho wrote: > Senhores boa noite tenho a seguinte instrução abaixo: > > no insert INSERT /*+APPEND..........* *o primeiro campo a ser inserido > e o conteudo armazenado em *$sth2->bind_param( 1, $customer);* que tambem é > utilizado em *"GNVBILLCANCEL.**CREATEREBILLFORCUSTOMER(?,?);"* tenho que > declara-lo ($sth2->bind_param( 3, $customer); novamente para utiliza-lo no > insert??????? nao teria uma forma de utilizar $sth2->bind_param( 1, > $customer); que ja esta declarado???????? Não, não existe uma forma de fazer isso. Você precisa declarar mais um placeholder e passar novamente o mesmo valor. Lamento, mas bases de dados relacionais nunca foram bonitas... ;) Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From acid06 em gmail.com Fri Aug 8 15:04:51 2008 From: acid06 em gmail.com (Nilson Santos Figueiredo Junior) Date: Fri, 8 Aug 2008 19:04:51 -0300 Subject: [Cascavel-pm] reutilizar variaveis In-Reply-To: <489CBF97.50908@yahoo.co.uk> References: <8fb8eacb0808081411l621cc8efubf44e02ade10376d@mail.gmail.com> <489CBF97.50908@yahoo.co.uk> Message-ID: <9a08c9b40808081504m317c6502g8e7cbc6004f582b3@mail.gmail.com> On Fri, Aug 8, 2008 at 6:50 PM, Luis Motta Campos wrote: > Não, não existe uma forma de fazer isso. Você precisa declarar mais um > placeholder e passar novamente o mesmo valor. Lamento, mas bases de dados > relacionais nunca foram bonitas... ;) Claro que existe, você pode utilizar placeholders numerados e / ou nomeados. Mas nem todo DBD suporta. Mas se você estivesse realmente se preocupando com isso, não usaria o DBI diretamente. -Nilson Santos F. Jr. From braun.lima em gmail.com Fri Aug 8 16:32:59 2008 From: braun.lima em gmail.com (Marco Lima) Date: Sat, 9 Aug 2008 00:32:59 +0100 Subject: [Cascavel-pm] reutilizar variaveis In-Reply-To: <8fb8eacb0808081411l621cc8efubf44e02ade10376d@mail.gmail.com> References: <8fb8eacb0808081411l621cc8efubf44e02ade10376d@mail.gmail.com> Message-ID: <34a7b6860808081632l612c8060t6b7345751a2441fa@mail.gmail.com> Salve! Você gostaria de fazer isso no RDBMS ou no DBI?? pelo RDBMS será necessário saber de qual estamos falando. Caso deseje fazer isso no no DBI, seria melhor fazer assim: $sth2->execute($customer, $descicao, $customer) or die ("Nao foi possivel executar o comando:", $sth->errstr(),"\n"); E não utilizar $sth->bind_param(); pois a vantagem desse é quando queremos declarar o tipo do parametro (bind_type), que pelo que estou vendo não é o caso, dessa forma você evita a execução desnecessária do bind_param(), já que no caso do execute() será realiza a substituição dos valores no Statement através de RegExp no proprio execute(). Abraços; 2008/8/8 Elvio Barbalho > Senhores boa noite tenho a seguinte instrução abaixo: > > my $sth2 = $dbh->prepare(" > Declare > v_msg_erro VARCHAR (150); > BEGIN > GNVBILLCANCEL.CREATEREBILLFORCUSTOMER(?,?); > GNVGEN.GNVCOMMIT; > COMMIT; > EXCEPTION WHEN OTHERS THEN > v_msg_erro := SUBSTR (SQLERRM, 1, 100); > INSERT /*+APPEND*/INTO > extract.ope_analise_controle_erro (customer_ref, account_num, data_insert, > cod_erro, ds_erro) > VALUES (?, null,SYSDATE,'CANCEL_FAT', > 'CREATEREBILLFORCUSTOMER: '||v_msg_erro); > COMMIT; > END;") or die("nao foi possivel preparar o comando: ", > $dbh->errstr(), "\n"); > $sth2->bind_param( 1, $customer); > $sth2->bind_param(2, $descicao); > $sth2->execute() or die ("Nao foi possivel executar o > comando:", $sth->errstr(),"\n"); > > > > > no insert INSERT /*+APPEND..........* *o primeiro campo a ser > inserido e o conteudo armazenado em *$sth2->bind_param( 1, $customer);*que tambem é utilizado em > *"GNVBILLCANCEL.**CREATEREBILLFORCUSTOMER(?,?);"* tenho que declara-lo > ($sth2->bind_param( 3, $customer); novamente para utiliza-lo no > insert??????? nao teria uma forma de utilizar $sth2->bind_param( 1, > $customer); que ja esta declarado???????? > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Marco Lima braun.lima em gmail.com "O que sabemos, saber que o sabemos. Aquilo que não sabemos, saber que não o sabemos: eis o verdadeiro saber." -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From luismottacampos em yahoo.co.uk Sat Aug 9 02:43:05 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Sat, 09 Aug 2008 11:43:05 +0200 Subject: [Cascavel-pm] reutilizar variaveis In-Reply-To: <8fb8eacb0808081411l621cc8efubf44e02ade10376d@mail.gmail.com> References: <8fb8eacb0808081411l621cc8efubf44e02ade10376d@mail.gmail.com> Message-ID: <489D66A9.6080908@yahoo.co.uk> Elvio Barbalho wrote: > Senhores boa noite tenho a seguinte instrução abaixo: (...) > tenho que declara-lo ($sth2->bind_param( 3, $customer); novamente > para utiliza-lo no insert??????? nao teria uma forma de utilizar > $sth2->bind_param( 1, $customer); que ja esta declarado???????? Hum. Eu estava errado, quando te disse que não dá para fazer isso. O Igor Sutton me apontou corretamente que existe um módulo para fazer isso, é o DBIx::Placeholder::Named. Do exemplo que o próprio Igor me enviou: --8<-- my $dbh = DBIx::Placeholder::Named->connect(...) or die DBIx::Placeholder::Named->errstr; my $sth = $dbh->prepare( q{INSERT INTO MyTable (f1, f2, f3) VALUES (:f1, :f2, :f2)} ) or die $dbh->errstr; $sth->execute({ f1 => 'value1', f2 => 'value2' }) or die $sth->errstr; --8<-- Obrigado pela dica, Igor. Putamplexos. -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From agustinho_coelho em yahoo.com.br Mon Aug 11 13:03:51 2008 From: agustinho_coelho em yahoo.com.br (Agustinho Coelho) Date: Mon, 11 Aug 2008 17:03:51 -0300 Subject: [Cascavel-pm] Duvida com exec Message-ID: <48A09B27.2010604@yahoo.com.br> Boa Tarde Pessoal, Estou tentando utilizar a função exec, mas estou enfrentando dificuldades... Eu li o perldoc, tentei utilizar as diversas maneiras aprensentadas, mas sem sucesso. O programa que tento fazer é para verificar se um host da rede está funcionando, se ele não responder, ele me envia um email. (eu tentei utilizar o módulo libemail-simple-perl e libemail-send-perl, mas ainda estou muito cru para isso :S ). Segue o código: #/bin/perl -w exec ('ping -c4 192.168.0.122 > /dev/null 2&1'); if ( $? == 0 ); then { exec ('echo "teste" | mail -s "host $(hostname) is up" email em dominio.com.br'); } else { exec ('echo "teste" | mail -s "host $(hostname)is down " email em dominio.com.br'); } Obrigado desde já, Agustinho. From luismottacampos em yahoo.co.uk Mon Aug 11 13:35:43 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Mon, 11 Aug 2008 22:35:43 +0200 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <48A09B27.2010604@yahoo.com.br> References: <48A09B27.2010604@yahoo.com.br> Message-ID: <48A0A29F.30507@yahoo.co.uk> Agustinho Coelho wrote: > Boa Tarde Pessoal, > > Estou tentando utilizar a função exec, mas estou enfrentando > dificuldades... Eu li o perldoc, tentei utilizar as diversas maneiras > aprensentadas, mas sem sucesso. O programa que tento fazer é para > verificar se um host da rede está funcionando, se ele não responder, ele > me envia um email. (eu tentei utilizar o módulo libemail-simple-perl e > libemail-send-perl, mas ainda estou muito cru para isso :S ). Segue o > código: > > #/bin/perl -w > > exec ('ping -c4 192.168.0.122 > /dev/null 2&1'); > if ( $? == 0 ); then { > exec ('echo "teste" | mail -s "host $(hostname) is up" > email em dominio.com.br'); > } else { > exec ('echo "teste" | mail -s "host $(hostname)is down " > email em dominio.com.br'); > } Por que você não tenta o Mail::Send, Agustinho? É mais simples, e ele vai provavelmente gerir os time-outs e outros problemas da sua rede sozinho. Claro, você não deve depender de emails para saber se seus serviços de rede estão funcionando ou não, mas isso é um outro problema. Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From russoz em gmail.com Mon Aug 11 13:40:41 2008 From: russoz em gmail.com (Alexei Znamensky) Date: Mon, 11 Aug 2008 17:40:41 -0300 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <48A09B27.2010604@yahoo.com.br> References: <48A09B27.2010604@yahoo.com.br> Message-ID: <23f46d7f0808111340j2531a4c1g56167520a0734b8a@mail.gmail.com> RTFM: exec LIST exec PROGRAM LIST The "exec" function executes a system command and never returns-- use "system" instead of "exec" if you want it to return. It fails and returns false only if the command does not exist and it is executed directly instead of via your system's command shell (see below). []s, Russo 2008/8/11 Agustinho Coelho > Boa Tarde Pessoal, > > Estou tentando utilizar a função exec, mas estou enfrentando > dificuldades... Eu li o perldoc, tentei utilizar as diversas maneiras > aprensentadas, mas sem sucesso. O programa que tento fazer é para verificar > se um host da rede está funcionando, se ele não responder, ele me envia um > email. (eu tentei utilizar o módulo libemail-simple-perl e > libemail-send-perl, mas ainda estou muito cru para isso :S ). Segue o > código: > > #/bin/perl -w > > exec ('ping -c4 192.168.0.122 > /dev/null 2&1'); > if ( $? == 0 ); then { > exec ('echo "teste" | mail -s "host $(hostname) is up" > email em dominio.com.br'); > } else { > exec ('echo "teste" | mail -s "host $(hostname)is down " > email em dominio.com.br'); > } > > > Obrigado desde já, > > Agustinho. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [ www.flickr.com/photos/alexeiz] "Though we live in trying times, we're the ones who have to try" -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From thiago em aware.com.br Mon Aug 11 14:32:10 2008 From: thiago em aware.com.br (Thiago Rondon) Date: Mon, 11 Aug 2008 18:32:10 -0300 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <48A09B27.2010604@yahoo.com.br> References: <48A09B27.2010604@yahoo.com.br> Message-ID: <48A0AFDA.2070502@aware.com.br> Agustinho, Verifique se o 'script' esteja encontrando o comando 'mail', passe o caminho completo do comando, como por exemplo '/usr/bin/mail', e verifique se está funcionando na linha de comando também. Para não depender da tua máquina, que pode ter outros problemas, utilize o Mail::Sender, segue um exemplo: my $sender = new Mail::Sender { smtp => 'mail.servidor.com.br', from => 'Alerta ', auth => 'LOGIN', authid => 'alerta em servidor.com.br', authpwd => 'senha_do_usuario_alerta', headers => "MIME-Version: 1.0\r\nContent-type: text/html\r\nContent-Transfer-Encoding: 7bit" }; if (ref ($sender->MailMsg( { to=> "voce em servidor.com.br", subject => "Titulo", msg => "Mensagem", }) { print "Alerta enviado."; } Abs, -Thiago Rondon Agustinho Coelho escreveu: > Boa Tarde Pessoal, > > Estou tentando utilizar a função exec, mas estou enfrentando > dificuldades... Eu li o perldoc, tentei utilizar as diversas maneiras > aprensentadas, mas sem sucesso. O programa que tento fazer é para > verificar se um host da rede está funcionando, se ele não responder, > ele me envia um email. (eu tentei utilizar o módulo > libemail-simple-perl e libemail-send-perl, mas ainda estou muito cru > para isso :S ). Segue o código: > > #/bin/perl -w > > exec ('ping -c4 192.168.0.122 > /dev/null 2&1'); > if ( $? == 0 ); then { > exec ('echo "teste" | mail -s "host $(hostname) is up" > email em dominio.com.br'); > } else { > exec ('echo "teste" | mail -s "host $(hostname)is down " > email em dominio.com.br'); > } > > > Obrigado desde já, > > Agustinho. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > > > From russoz em gmail.com Mon Aug 11 14:41:54 2008 From: russoz em gmail.com (Alexei Znamensky) Date: Mon, 11 Aug 2008 18:41:54 -0300 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <48A0AFDA.2070502@aware.com.br> References: <48A09B27.2010604@yahoo.com.br> <48A0AFDA.2070502@aware.com.br> Message-ID: <23f46d7f0808111441u460c982djd6b606730dc990ff@mail.gmail.com> Não. O buraco é mais embaixo. exec LIST exec PROGRAM LIST The "exec" function executes a system command and never returns-- use "system" instead of "exec" if you want it to return. It fails and returns false only if the command does not exist and it is executed directly instead of via your system's command shell (see below). ou A função "exec" executa um comando do sistema e nunca retorna-- use "system" ao invés de "exec" se você quer que ela retorne. Ela falha e retorna false somente se o comando não existir, e ele é executado diretamente, ao invés de usar o shell de comando do seu sistema (veja abaixo). Ou seja, o problema já começa aqui: exec ('ping -c4 192.168.0.122 > /dev/null 2&1'); uma vez que a chamada para a função exec() nunca retorna. []s, Russo 2008/8/11 Thiago Rondon > > Agustinho, > > Verifique se o 'script' esteja encontrando o comando 'mail', passe o > caminho completo do > comando, como por exemplo '/usr/bin/mail', e verifique se está funcionando > na linha de > comando também. > > Para não depender da tua máquina, que pode ter outros problemas, utilize o > Mail::Sender, > segue um exemplo: > > my $sender = new Mail::Sender { smtp => 'mail.servidor.com.br', > from => 'Alerta < > naoresponder em servidor.com.br>', > auth => 'LOGIN', > authid => 'alerta em servidor.com.br', > authpwd => 'senha_do_usuario_alerta', > headers => "MIME-Version: > 1.0\r\nContent-type: text/html\r\nContent-Transfer-Encoding: 7bit" > }; > > if (ref ($sender->MailMsg( { to=> "voce em servidor.com.br", subject => > "Titulo", msg => "Mensagem", }) { > print "Alerta enviado."; > } > > Abs, > -Thiago Rondon > > Agustinho Coelho escreveu: > > Boa Tarde Pessoal, >> >> Estou tentando utilizar a função exec, mas estou enfrentando >> dificuldades... Eu li o perldoc, tentei utilizar as diversas maneiras >> aprensentadas, mas sem sucesso. O programa que tento fazer é para verificar >> se um host da rede está funcionando, se ele não responder, ele me envia um >> email. (eu tentei utilizar o módulo libemail-simple-perl e >> libemail-send-perl, mas ainda estou muito cru para isso :S ). Segue o >> código: >> >> #/bin/perl -w >> >> exec ('ping -c4 192.168.0.122 > /dev/null 2&1'); >> if ( $? == 0 ); then { >> exec ('echo "teste" | mail -s "host $(hostname) is up" >> email em dominio.com.br'); >> } else { >> exec ('echo "teste" | mail -s "host $(hostname)is down " >> email em dominio.com.br'); >> } >> >> >> Obrigado desde já, >> >> Agustinho. >> _______________________________________________ >> 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 > -- Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [ www.flickr.com/photos/alexeiz] "Though we live in trying times, we're the ones who have to try" -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From glasswalk3r em yahoo.com.br Mon Aug 11 19:45:49 2008 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon, 11 Aug 2008 23:45:49 -0300 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <48A0A29F.30507@yahoo.co.uk> References: <48A09B27.2010604@yahoo.com.br> <48A0A29F.30507@yahoo.co.uk> Message-ID: <48A0F95D.6040908@yahoo.com.br> Luis Motta Campos escreveu: > Por que você não tenta o Mail::Send, Agustinho? > > É mais simples, e ele vai provavelmente gerir os time-outs e outros > problemas da sua rede sozinho. > > Claro, você não deve depender de emails para saber se seus serviços de > rede estão funcionando ou não, mas isso é um outro problema. > > Putamplexos! Reforço a idéia do Champs. Mesmo que seja mais rápido mandar emails dessa forma (o que pode não ser o caso) você vai abrir brechas de segurança. Escrevi um artigo a um bom tempo atrás no http://www.perl.org.br sobre esse assunto. Dê uma olhada lá. []'s -- Alceu Rodrigues de Freitas Junior --- glasswalk3r em yahoo.com.br "when you don't create things, you become defined by your tastes rather than ability. Your tastes only narrow and exclude people. So create." From luismottacampos em yahoo.co.uk Tue Aug 12 01:27:16 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Tue, 12 Aug 2008 10:27:16 +0200 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <23f46d7f0808111441u460c982djd6b606730dc990ff@mail.gmail.com> References: <48A09B27.2010604@yahoo.com.br> <48A0AFDA.2070502@aware.com.br> <23f46d7f0808111441u460c982djd6b606730dc990ff@mail.gmail.com> Message-ID: <48A14964.6020505@yahoo.co.uk> Alexei Znamensky wrote: > Não. > > O buraco é mais embaixo. > > A função "exec" executa um comando do sistema e nunca retorna -- use > "system" ao invés de "exec" se você quer que ela retorne. Ela falha e > retorna false somente se o comando não existir, e ele é executado > diretamente, ao invés de usar o shell de comando do seu sistema (veja > abaixo). > > Ou seja, o problema já começa aqui: > > exec ('ping -c4 192.168.0.122 > /dev/null 2&1'); > > uma vez que a chamada para a função exec() nunca retorna. O Russo, para variar, está certo. Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From agustinho_coelho em yahoo.com.br Tue Aug 12 13:38:21 2008 From: agustinho_coelho em yahoo.com.br (Agustinho Coelho) Date: Tue, 12 Aug 2008 17:38:21 -0300 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <48A14964.6020505@yahoo.co.uk> References: <48A09B27.2010604@yahoo.com.br> <48A0AFDA.2070502@aware.com.br> <23f46d7f0808111441u460c982djd6b606730dc990ff@mail.gmail.com> <48A14964.6020505@yahoo.co.uk> Message-ID: <48A1F4BD.9080005@yahoo.com.br> > RTFM: > > exec LIST > exec PROGRAM LIST > The "exec" function executes a system command and never > returns-- use "system" instead of "exec" if you > want it to return. It fails and returns false only if > the command does not exist and it is executed > directly instead of via your system's command shell > (see below). > > []s, > Russo Russo, Eu li o manual e já tinha tentado antes do exec() usar o system() de diversas maneiras mas sem conseguir o efeito desejado. Achava que justamente por não retornar uma saída ele fosse mais simples. Segue o código como estava com o system() (seguindo exemplo do próprio perldoc): #/usr/bin/perl -w use strict; use warnings; my @ping = ("ping" , "-c4" , "192.168.0.222" , " " , "\>" , " " , "/dev/null\>2\&1"); my @mailup = ("sendmail" , "-f" , "user\@host.com.br" , "-t" , "user\@host.com.br" , " " , "\<" , " " , "/home/bkpuser/netmailup.txt"); my @maildown = ("sendmail" , "-f" , "user\@host.com.br" , "-t" , "user\@host.com.br" , " " , "\<" , " " , "/home/bkpuser/netmaildown.txt"); system (@ping); if ( $? == 0 ) { system (@mailup); } else { system (@maildown); } Eu tentei escapar todos os caracteres duvidosos, tentei interpolar de várias maneiras, mas sem sucesso algum. Ele sempre apresenta os seguintes erros: *sh: 1: command not found* ou *ping: unknown host > * > Agustinho, > > Verifique se o 'script' esteja encontrando o comando 'mail', passe o > caminho completo do > comando, como por exemplo '/usr/bin/mail', e verifique se está > funcionando na linha de > comando também. > > Para não depender da tua máquina, que pode ter outros problemas, > utilize o Mail::Sender, > segue um exemplo: > > my $sender = new Mail::Sender { smtp => 'mail.servidor.com.br', > from => 'Alerta > ', > auth => 'LOGIN', > authid => 'alerta em servidor.com.br', > authpwd => 'senha_do_usuario_alerta', > headers => "MIME-Version: > 1.0\r\nContent-type: text/html\r\nContent-Transfer-Encoding: 7bit" > }; > > if (ref ($sender->MailMsg( { to=> "voce em servidor.com.br", subject => > "Titulo", msg => "Mensagem", }) { > print "Alerta enviado."; > } > > Abs, > -Thiago Rondon Tiago, Valeu pela ajuda cara, mas eu já tinha tentando o Mail:Sender (é que eu acabei colocando o nome dos módulos do debian + libemail-send-perl +). Mas não tinha entendido direito, com o exemplo que você deu ficou um pouco mais claro, mais ainda preciso realizar o ping para verificação do host. :) > Reforço a idéia do Champs. Mesmo que seja mais rápido mandar emails > dessa forma (o que pode não ser o caso) você vai abrir brechas de > segurança. > > Escrevi um artigo a um bom tempo atrás no http://www.perl.org.br sobre > esse assunto. Dê uma olhada lá. > > []'s > > -- > Alceu Rodrigues de Freitas Junior > --- > glasswalk3r em yahoo.com.br > "when you don't create things, you become defined by your tastes > rather than ability. Your tastes only narrow and exclude people. So > create." Alceu, Eu procurei pelos seus artigos (inclusive li alguns para iniciantes - eu - e achei muitas coisas boas) mas não encontrei especificamente este que trata sobre emails. Em que caso especificamente você diz que tem brechas? Mais uma vez obrigado a todos! -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From russoz em gmail.com Tue Aug 12 14:18:32 2008 From: russoz em gmail.com (Alexei Znamensky) Date: Tue, 12 Aug 2008 18:18:32 -0300 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <48A1F4BD.9080005@yahoo.com.br> References: <48A09B27.2010604@yahoo.com.br> <48A0AFDA.2070502@aware.com.br> <23f46d7f0808111441u460c982djd6b606730dc990ff@mail.gmail.com> <48A14964.6020505@yahoo.co.uk> <48A1F4BD.9080005@yahoo.com.br> Message-ID: <23f46d7f0808121418w7b8b2fcbl2082212f7e75adf5@mail.gmail.com> Agustinho, Você precisa ler as coisas com mais cuidado. Se você leu sobre o exec() antes de tentar, deveria saber que ele jamais iria funcionar, pois (de novo) A FUNÇÃO JAMAIS RETORNA. Sobre o system(), I quote (http://perldoc.perl.org/functions/system.html): Note that argument processing varies depending on the number of arguments. If there is more than one argument in LIST, or if LIST is an array with more than one value, starts the program given by the first element of the list with arguments given by the rest of the list. If there is only one scalar argument, the argument is checked for shell metacharacters, and if there are any, the entire argument is passed to the system's command shell for parsing (this is /bin/sh -c on Unix platforms, but varies on other platforms). If there are no shell metacharacters in the argument, it is split into words and passed directly to execvp , which is more efficient. Aparentemente você não manja muito de como funcionam as coisas. Então o tio vai explicar pra você: my @ping = ("ping" , "-c4" , "192.168.0.222" , " " , "\>" , " " , "/dev/null\>2\&1"); Seguindo o que está escrito ali em cima, você está chamando ping com 6 argumentos: 0 "-c4" 1 "192.168.0.222" 2 " " 3 "\>" 4 " " 5 "/dev/null\>2\&1" dos quais o ping consegue trabalhar (utilmente) apenas #0 e #1. Os #2 e #4 são ignorados. O arg #3 é um erro, o ping não sabe o que fazer com isso, mas provavelmente ele está sendo bonzinho e deixando passar. O #5 é o mais engraçado de todos, pois começa com um nome de arquivo, depois caracteres especiais, no wonder o perl dá host unknown. Quem interpreta os caracteres especiais da linha de comando, em particular os de redirecionamento ( > < >& ) é o SHELL (seja ele sh, ksh, bash, csh, tcsh, etc...), e não os programas que são invocados. Aqui é um diferença básica de design entre windows/dos e unix: no império do mal, cada comando é responsável por expandir os caracteres especiais na linha de comando, não sei se todos, mas pelo menos * e ?. Ou seja, se você não tiver um shell sendo rodado, você não tem redirecionamento. Pelo perlpod de system(), você NÃO TEM um shell sendo invocado quando você passa uma lista de parâmetros. Se você quiser ter redirecionamento, tem de passar tudo como uma coisa só: my $cmd = "ping -c4 192.168.0.222 \>/dev/null \>2\&1"; system($cmd); pois, de acordo com a semântica do system(), sendo invocada com apenas um parâmetro, esta função irá chamar o shell (/bin/sh -c no caso do Unix). De qualquer maneira, é um jeito bem tosco e pouco portável de verificar se o host está up. Sugestões de leitura: http://search.cpan.org/~ferreira/Shell-0.72/Shell.pm http://search.cpan.org/~chorny/Net-Ping-External-0.12/External.pm http://search.cpan.org/~rcaputo/POE-Component-Client-Ping-1.14/Ping.pm HTH Cheers, Russo 2008/8/12 Agustinho Coelho > > RTFM: > > exec LIST > exec PROGRAM LIST > The "exec" function executes a system command and never > returns-- use "system" instead of "exec" if you > want it to return. It fails and returns false only if the > command does not exist and it is executed > directly instead of via your system's command shell (see > below). > > []s, > Russo > > > Russo, > > Eu li o manual e já tinha tentado antes do exec() usar o system() de > diversas maneiras mas sem conseguir o efeito desejado. Achava que justamente > por não retornar uma saída ele fosse mais simples. Segue o código como > estava com o system() (seguindo exemplo do próprio perldoc): > > #/usr/bin/perl -w > > use strict; > use warnings; > > my @ping = ("ping" , "-c4" , "192.168.0.222" , " " , "\>" , " " , > "/dev/null\>2\&1"); > my @mailup = ("sendmail" , "-f" , "user\@host.com.br", "-t" , > "user\@host.com.br" , " " , "\<" , " " , > "/home/bkpuser/netmailup.txt"); > my @maildown = ("sendmail" , "-f" , "user\@host.com.br", "-t" , > "user\@host.com.br" , " " , "\<" , " " , > "/home/bkpuser/netmaildown.txt"); > > system (@ping); > > if ( $? == 0 ) { > system (@mailup); > } else { > system (@maildown); > } > > Eu tentei escapar todos os caracteres duvidosos, tentei interpolar de > várias maneiras, mas sem sucesso algum. Ele sempre apresenta os seguintes > erros: > *sh: 1: command not found* ou *ping: unknown host > > * > > Agustinho, > > Verifique se o 'script' esteja encontrando o comando 'mail', passe o > caminho completo do > comando, como por exemplo '/usr/bin/mail', e verifique se está funcionando > na linha de > comando também. > > Para não depender da tua máquina, que pode ter outros problemas, utilize o > Mail::Sender, > segue um exemplo: > > my $sender = new Mail::Sender { smtp => 'mail.servidor.com.br', > from => 'Alerta > ', > auth => 'LOGIN', > authid => 'alerta em servidor.com.br', > authpwd => 'senha_do_usuario_alerta', > headers => "MIME-Version: > 1.0\r\nContent-type: text/html\r\nContent-Transfer-Encoding: 7bit" > }; > > if (ref ($sender->MailMsg( { to=> "voce em servidor.com.br", > subject => "Titulo", msg => "Mensagem", }) { > print "Alerta enviado."; > } > > Abs, > -Thiago Rondon > > > Tiago, > > Valeu pela ajuda cara, mas eu já tinha tentando o Mail:Sender (é que eu > acabei colocando o nome dos módulos do debian + libemail-send-perl +). Mas > não tinha entendido direito, com o exemplo que você deu ficou um pouco mais > claro, mais ainda preciso realizar o ping para verificação do host. :) > > > Reforço a idéia do Champs. Mesmo que seja mais rápido mandar emails dessa > forma (o que pode não ser o caso) você vai abrir brechas de segurança. > > Escrevi um artigo a um bom tempo atrás no http://www.perl.org.br sobre > esse assunto. Dê uma olhada lá. > > []'s > > -- > Alceu Rodrigues de Freitas Junior > --- > glasswalk3r em yahoo.com.br > "when you don't create things, you become defined by your tastes rather > than ability. Your tastes only narrow and exclude people. So create." > > > Alceu, > > Eu procurei pelos seus artigos (inclusive li alguns para iniciantes - eu - > e achei muitas coisas boas) mas não encontrei especificamente este que trata > sobre emails. Em que caso especificamente você diz que tem brechas? > > > Mais uma vez obrigado a todos! > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [ www.flickr.com/photos/alexeiz] "Though we live in trying times, we're the ones who have to try" -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From luismottacampos em yahoo.co.uk Tue Aug 12 22:25:18 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Wed, 13 Aug 2008 07:25:18 +0200 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <48A1F4BD.9080005@yahoo.com.br> References: <48A09B27.2010604@yahoo.com.br> <48A0AFDA.2070502@aware.com.br> <23f46d7f0808111441u460c982djd6b606730dc990ff@mail.gmail.com> <48A14964.6020505@yahoo.co.uk> <48A1F4BD.9080005@yahoo.com.br> Message-ID: <48A2703E.7020804@yahoo.co.uk> Agustinho Coelho wrote: > >> RTFM: >> >> exec LIST >> exec PROGRAM LIST >> The "exec" function executes a system command and never >> returns-- use "system" instead of "exec" if you >> want it to return. It fails and returns false only if >> the command does not exist and it is executed >> directly instead of via your system's command shell >> (see below). >> >> []s, >> Russo > > Russo, > > Eu li o manual e já tinha tentado antes do exec() usar o system() de > diversas maneiras mas sem conseguir o efeito desejado. Achava que > justamente por não retornar uma saída ele fosse mais simples. Segue o > código como estava com o system() (seguindo exemplo do próprio perldoc): > > #/usr/bin/perl -w > > use strict; > use warnings; > > my @ping = ("ping" , "-c4" , "192.168.0.222" , " " , "\>" , " " , > "/dev/null\>2\&1"); > my @mailup = ("sendmail" , "-f" , "user\@host.com.br" , "-t" , > "user\@host.com.br" , " " , "\<" , " " , "/home/bkpuser/netmailup.txt"); > my @maildown = ("sendmail" , "-f" , "user\@host.com.br" , "-t" , > "user\@host.com.br" , " " , "\<" , " " , "/home/bkpuser/netmaildown.txt"); > > system (@ping); > > if ( $? == 0 ) { > system (@mailup); > } else { > system (@maildown); > } > > Eu tentei escapar todos os caracteres duvidosos, tentei interpolar de > várias maneiras, mas sem sucesso algum. Ele sempre apresenta os > seguintes erros: > *sh: 1: command not found* ou *ping: unknown host > > * Mamma mia, nem posso acreditar. Alguém que tentou tratar erros do system(). Parabéns, Daniel. A única coisa que você não fez certo é esperar que o system() incorpore a tua variável de ambiente PATH. Não tem PATH setado quando você executa system, esta é a regra (sim, pode haver path, mas isso é excessão). Assim, você precisa passar caminho completo para todos os comandos que executar: __PERL__ my @ping = ("ping" , "-c4" , "192.168.0.222" ); if ($? == -1) { print "failed to execute: $!\n"; } elsif ($? & 127) { printf "child died with signal %d, %s coredump\n", ($? & 127), ($? & 128) ? 'with' : 'without'; } else { printf "child exited with value %d\n", $? >> 8; } Repare em como eu trato erros de ping. Agora, sério: se você vai "pingar" uma máquina, use o Net::Ping. E, se pretende mandar emails, use Mail::Send ou seu módulo de SMTP favorito... tenho certeza de que bastante gente aqui pode te dar boas indicações. Putamplexos. -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From roanbrasil em gmail.com Thu Aug 14 12:40:43 2008 From: roanbrasil em gmail.com (Roan Brasil Monteiro) Date: Thu, 14 Aug 2008 16:40:43 -0300 Subject: [Cascavel-pm] [OT] Vaga IBM Message-ID: <403668000808141240y4d239687g6d002543e4bef34a@mail.gmail.com> Galera, Estou divulgando. Profissional que saiba: C++ HTML XML XSLT JAVASCRIPT E esteja habilitado a trabalhar na região de Campinas-SP. Mandar curriculum para roanbrasil em gmail.com o quanto antes. -- Atenciosamente, Roan Brasil Monteiro System Analyst - IT Specialist IBM - Hortolândia - SP -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From braun.lima em gmail.com Fri Aug 15 15:21:48 2008 From: braun.lima em gmail.com (Marco Lima) Date: Fri, 15 Aug 2008 23:21:48 +0100 Subject: [Cascavel-pm] ES de Agosto Message-ID: <34a7b6860808151521s3fcd048t54ef6c7daa4a61a5@mail.gmail.com> Salve Pessoal !!! Estou vendo que o grupo esta cada vez mais moderno =) Adorei a idéia de fazer encontros sociais na Vila Mimosa =) lol Quero saber como o pessoal se comportou .... heheheh Abraços para todos; -- Marco Lima braun.lima em gmail.com "O que sabemos, saber que o sabemos. Aquilo que não sabemos, saber que não o sabemos: eis o verdadeiro saber." -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From braun.lima em gmail.com Fri Aug 15 15:22:41 2008 From: braun.lima em gmail.com (Marco Lima) Date: Fri, 15 Aug 2008 23:22:41 +0100 Subject: [Cascavel-pm] ES de Agosto In-Reply-To: <34a7b6860808151521s3fcd048t54ef6c7daa4a61a5@mail.gmail.com> References: <34a7b6860808151521s3fcd048t54ef6c7daa4a61a5@mail.gmail.com> Message-ID: <34a7b6860808151522i2f202952wa8596895f8214b9e@mail.gmail.com> ops !!! Desculpem .... Lista errada =) Era para ser no Rio.pm 2008/8/15 Marco Lima > Salve Pessoal !!! > > Estou vendo que o grupo esta cada vez mais moderno =) Adorei a idéia de > fazer encontros sociais na Vila Mimosa =) lol > > Quero saber como o pessoal se comportou .... heheheh > > Abraços para todos; > > -- > > Marco Lima > braun.lima em gmail.com > > "O que sabemos, saber que o sabemos. Aquilo que não sabemos, saber que não > o sabemos: eis o verdadeiro saber." > -- Marco Lima braun.lima em gmail.com "O que sabemos, saber que o sabemos. Aquilo que não sabemos, saber que não o sabemos: eis o verdadeiro saber." -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From blabos em gmail.com Sun Aug 17 19:24:15 2008 From: blabos em gmail.com (Blabos de Blebe) Date: Sun, 17 Aug 2008 23:24:15 -0300 Subject: [Cascavel-pm] Get Html com perl In-Reply-To: <604cec170808010723m3efc40a2n548c0d0c1fff13bf@mail.gmail.com> References: <48930B6D.6090200@yahoo.com.br> <604cec170808010633n5316f45ey6c1984a606fca657@mail.gmail.com> <48931A68.5040509@yahoo.com.br> <604cec170808010723m3efc40a2n548c0d0c1fff13bf@mail.gmail.com> Message-ID: <179354400808171924x6b44690drafab771712c53a42@mail.gmail.com> Talvez isso ajude: http://search.cpan.org/~petdance/WWW-Mechanize-1.34/lib/WWW/Mechanize.pm Talvez não... :) On Fri, Aug 1, 2008 at 11:23 AM, Nelson Ferraz wrote: > > > Então é o seguinte, eu queria saber se teria uma forma de formatar o > > código-fonte, para exibir apenas o " It Works! " sem as tags. > > http://search.cpan.org/~awrigley/html2text-0.003/html2text.pl > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm From roanbrasil em gmail.com Mon Aug 18 09:21:10 2008 From: roanbrasil em gmail.com (Roan Brasil Monteiro) Date: Mon, 18 Aug 2008 13:21:10 -0300 Subject: [Cascavel-pm] [OT] Vagas Trabalho Sampa Message-ID: <403668000808180921w3fcd8a9fl592001da0bdc618e@mail.gmail.com> A *Systemplan* é uma consultoria voltada para tecnologia, atuante no mercado há mais de 12 anos. Parceira SAP, Certificada pela ISO 9001 pelo 4º ano consecutivo. Estamos buscando os seguintes profissionais: * * ** *CONSULTOR FI/CO PLENO **Conhecimentos:* Consultor Pleno. Necessário ter inglês avançado/fluente. *Atividades: *processo, configuração e suporte *Duração do projeto: 5* meses (podendo ser prorrogado) *Local:* Hortolândia/SP *CONSULTOR FI/CO JUNIOR **Conhecimentos:* Consultor Junior. Necessário ter inglês avançado/fluente. *Atividades: *processo, configuração e suporte Duração do projeto: 3 anos *Local:* Hortolândia/SP *CONSULTOR HR JUNIOR* *Conhecimentos:* Consultor Junior. Conhecimentos de HR PA/PD. Necessário ter inglês avançado/fluente. *Atividades: *processo, configuração e suporte *Duração do projeto: 3* anos *Local:* Hortolândia/SP *CONSULTOR MM PLENO* *Conhecimentos:* Consultor Junior/Pleno. *Atividades: *processo, configuração e suporte *Duração do projeto: 3 *anos *Local:* Vagas para Hortolândia/SP e São Paulo/SP * CONSULTOR BW JUNIOR* *Conhecimentos:* Consultor Junior/Pleno. *Atividades: *processo, configuração e suporte *Duração do projeto: 2 *anos *Local:* Rio de Janeiro/RJ *CONSULTOR ABAP PLENO* *Conhecimentos:* Experiência de 2 anos em Abap. *Duração do projeto: 1 *ano *Local:* São Paulo/SP *CONSULTOR ABAP HR JUNIOR* *Conhecimentos:* Experiência de 1 ano em ABAP HR. Necessário ter inglês avançado/fluente. *Duração do projeto: 3 *anos *Local:* Hortolândia/SP * * Os interessados poderão enviar currículo com pretensão salarial para: tatianeb em systemplan.com.br -- Atenciosamente, Roan Brasil Monteiro System Analyst - IT Specialist IBM - Hortolândia - SP -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From breno em rio.pm.org Mon Aug 18 10:57:38 2008 From: breno em rio.pm.org (breno) Date: Mon, 18 Aug 2008 14:57:38 -0300 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: <48A2703E.7020804@yahoo.co.uk> References: <48A09B27.2010604@yahoo.com.br> <48A0AFDA.2070502@aware.com.br> <23f46d7f0808111441u460c982djd6b606730dc990ff@mail.gmail.com> <48A14964.6020505@yahoo.co.uk> <48A1F4BD.9080005@yahoo.com.br> <48A2703E.7020804@yahoo.co.uk> Message-ID: Agustinho, o pessoal aqui é muito bom, conte com eles para ajudá-lo em sua busca por conhecimento e *aceite* os conselhos sobre system() x exec(), Net::Ping e módulos de envio de email (eu particularmente gosto do Net::SMTP e MIME::Lite, queria saber a opinião dos outros). Mas, técnicas de programação Perl a parte, acho que seu programa não está fazendo o que vc quer por alguns erros de sintaxe. Veja: > exec ('ping -c4 192.168.0.122 > /dev/null 2&1'); vc tentou rodar isso na mão? O comando: ping -c4 192.168.0.122 > /dev/null 2&1 roda como se fossem 2 comandos: (1o comando): ping -c4 192.168.0.122 > /dev/null 2& (2o comando): 1 Daí o resultado ser algo como: [1] 8442 (primeiro comando sendo executado em background devido ao "&") bash: 1: command not found (segundo comando, "1", não é um comando válido) Se esperar um pouco, verá o comando que rodou em background sendo finalizado: [1]+ Exit 1 ping ping -c4 192.168.0.122 2 > /dev/null (note o "2" do seu comando) Pelo comando que vc escreveu, acho q o q vc quer é redirecionar a saída para o /dev/null. Então, o q vc deve fazer é: ping -c4 192.168.0.122 > /dev/null 2>&1 Primeiro problema resolvido. Dito isso, lembre-se da dica do Russo e cia, pois como o exec não retorna, não dá pra testar o valor de $? como vc faria com system(). Vamos trocar a linha por: system ( 'ping -c4 192.168.0.122 > /dev/null 2>&1' ); E aí surge o problema 2 do código enviado: > if ( $? == 0 ); then { Tem dois problemas aí. O ponto e vírgula após o "if" (que mata a instrução) e o "then" (que não faz parte da sintaxe do Perl). Como o código assim simplesmente não compila, estou assumindo confusão na hora de escrever o email, e que o seu código na verdade está assim: if ( $? == 0 ) { Dito isso, vamos ao envio de email em si: > exec ('echo "teste" | mail -s "host $(hostname) is up" email em dominio.com.br'); Esse comando funciona corretamente, supondo que seu MTA está propriamente configurado, assim como o "mail". Há algumas restrições sobre modo interativo, mailboxes, permissões, etc, não estou muito familiarizado com o "mail" para te dar dicas de depuração que não seja: não faça isso, use módulos. Mas testei aqui e, com tudo configurado, fuciona. Lembre-se, no entanto, que (exatamente como Alceu, Champs e Rondon já te disseram), desse jeito vc não tem garantia nenhuma de que o email sequer saiu da sua máquina, pois não há verificação alguma em relação ao comando "mail", muito menos em cima de um "exec". > } else { > exec ('echo "teste" | mail -s "host $(hostname)is down " email em dominio.com.br'); > } outra dica (além das óbvias, "não faça isso, vc está programando Perl com sotaque de Shell Scripting, use módulos, etc") é fazer mais ou menos assim: ------------------8<------------------- my $status = "down"; system ( 'ping -c4 192.168.0.122 > /dev/null 2>&1' ); if ( $? == 0 ) { $status = 'up'; } exec ( 'echo "teste" | mail -s "host $(hostname) is ' . $status . ' " email em dominio.com.br' ); ------------------8<------------------- Mas de qq forma essa não é a forma adequada de se usar $?, é? perldoc -f system para mais informações. Além disso, lembre-se que vc está testando 192.168.0.122 e não $(hostname), que devolverá o nome da sua máquina local. Isso é outro ponto possível de falhas e que não escala bem, além do seu ' echo "teste" ' que tenho certeza não ser o que vc de fato vai mandar por email :-) De novo, não faça isso. Use módulos! :-) Mas se há urgência, isso deve funcionar. Melhore o código à medida que for aprendendo mais Perl (e se livrando do sotaque de Shell) Boa sorte! E continue mandando suas dúvidas para a lista! []s -b 2008/8/13 Luis Motta Campos : > Agustinho Coelho wrote: >> >>> RTFM: >>> >>> exec LIST >>> exec PROGRAM LIST >>> The "exec" function executes a system command and never >>> returns-- use "system" instead of "exec" if you >>> want it to return. It fails and returns false only if the >>> command does not exist and it is executed >>> directly instead of via your system's command shell (see >>> below). >>> >>> []s, >>> Russo >> >> Russo, >> >> Eu li o manual e já tinha tentado antes do exec() usar o system() de >> diversas maneiras mas sem conseguir o efeito desejado. Achava que justamente >> por não retornar uma saída ele fosse mais simples. Segue o código como >> estava com o system() (seguindo exemplo do próprio perldoc): >> >> #/usr/bin/perl -w >> >> use strict; >> use warnings; >> >> my @ping = ("ping" , "-c4" , "192.168.0.222" , " " , "\>" , " " , >> "/dev/null\>2\&1"); >> my @mailup = ("sendmail" , "-f" , "user\@host.com.br" , "-t" , >> "user\@host.com.br" , " " , "\<" , " " , "/home/bkpuser/netmailup.txt"); >> my @maildown = ("sendmail" , "-f" , "user\@host.com.br" , "-t" , >> "user\@host.com.br" , " " , "\<" , " " , "/home/bkpuser/netmaildown.txt"); >> >> system (@ping); >> >> if ( $? == 0 ) { >> system (@mailup); >> } else { >> system (@maildown); >> } >> >> Eu tentei escapar todos os caracteres duvidosos, tentei interpolar de >> várias maneiras, mas sem sucesso algum. Ele sempre apresenta os seguintes >> erros: >> *sh: 1: command not found* ou *ping: unknown host > >> * > > Mamma mia, nem posso acreditar. Alguém que tentou tratar erros do system(). > > Parabéns, Daniel. A única coisa que você não fez certo é esperar que o > system() incorpore a tua variável de ambiente PATH. Não tem PATH setado > quando você executa system, esta é a regra (sim, pode haver path, mas isso é > excessão). > > Assim, você precisa passar caminho completo para todos os comandos que > executar: > > __PERL__ > my @ping = ("ping" , "-c4" , "192.168.0.222" ); > if ($? == -1) { > print "failed to execute: $!\n"; > } > elsif ($? & 127) { > printf "child died with signal %d, %s coredump\n", > ($? & 127), ($? & 128) ? 'with' : 'without'; > } > else { > printf "child exited with value %d\n", $? >> 8; > } > > Repare em como eu trato erros de ping. > > Agora, sério: se você vai "pingar" uma máquina, use o Net::Ping. E, se > pretende mandar emails, use Mail::Send ou seu módulo de SMTP favorito... > tenho certeza de que bastante gente aqui pode te dar boas indicações. > > Putamplexos. > -- > Luis Motta Campos is a software engineer, > Perl Programmer, foodie and photographer. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From fernandolouis em terra.com.br Mon Aug 18 14:05:16 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Mon, 18 Aug 2008 18:05:16 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: Pessoal, estou tendo um problema com expressões regulares. É o seguinte: está imprimindo assim: http://www.kussvanderlinde.adv.br/1.htm e quero que imprima assim: http://www.kussvanderlinde.adv.br/2.htm onde a $var recebe o seguinte: $var = "888nk1>1888"; para uma melhor leitura, $var recebe: $var = " 8 8 8 nk1>1 8 8 8 "; então antes de imprimir, quero trocar o "n" pelo conteúdo que está sendo linkado ali, no caso, "n". para que $var fique assim: $var = " 8 8 8 1 8 8 8 "; tentei usar a seguinte regexp: $var =~ s/((\w+)<\/a>/$1$2/g; mas não estou conseguindo com isso. Alguém pode me ajudar? lembrando que no exemplo, os endereços e os textos dos links podem ser qualquer palavra ou número, ou seja \w+ Fernando From gabriel.vieira em gmail.com Mon Aug 18 15:48:47 2008 From: gabriel.vieira em gmail.com (Gabriel Vieira) Date: Mon, 18 Aug 2008 19:48:47 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: References: <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: <83d8367f0808181548u67c77f6fh3098538bb251bb4a@mail.gmail.com> Que tal colocar os espaços na regex também? \s* # com já dá certo 2008/8/18 : > Pessoal, estou tendo um problema com expressões regulares. > > É o seguinte: > > está imprimindo assim: http://www.kussvanderlinde.adv.br/1.htm > > e quero que imprima assim: http://www.kussvanderlinde.adv.br/2.htm > > onde a $var recebe o seguinte: > > $var = "888 href=link1>188 href=link8>8"; > > para uma melhor leitura, $var recebe: > > $var = " > 8 > 8 > 8 > nk1>1 > 8 > 8 > 8 > "; > > então antes de imprimir, quero trocar o "n" pelo conteúdo > que está sendo linkado ali, no caso, "n". > > para que $var fique assim: > > $var = " > 8 > 8 > 8 > 1 > 8 > 8 > 8 > "; > > tentei usar a seguinte regexp: > $var =~ s/((\w+)<\/a>/$1$2/g; > > mas não estou conseguindo com isso. Alguém pode me ajudar? > > lembrando que no exemplo, os endereços e os textos dos links podem ser > qualquer palavra ou número, ou seja \w+ > > Fernando > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Gabriel Vieira From edencardim em gmail.com Mon Aug 18 16:42:14 2008 From: edencardim em gmail.com (Eden Cardim) Date: Mon, 18 Aug 2008 20:42:14 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: References: <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: <3de55ead0808181642o61fb44c9s82658605fd2fd50a@mail.gmail.com> 2008/8/18 : > Pessoal, estou tendo um problema com expressões regulares. > > É o seguinte: > > está imprimindo assim: http://www.kussvanderlinde.adv.br/1.htm > > e quero que imprima assim: http://www.kussvanderlinde.adv.br/2.htm > > onde a $var recebe o seguinte: > > $var = "888 href=link1>188 href=link8>8"; > > para uma melhor leitura, $var recebe: > > $var = " > 8 > 8 > 8 > nk1>1 > 8 > 8 > 8 > "; > > então antes de imprimir, quero trocar o "n" pelo conteúdo > que está sendo linkado ali, no caso, "n". > > para que $var fique assim: > > $var = " > 8 > 8 > 8 > 1 > 8 > 8 > 8 > "; > > tentei usar a seguinte regexp: > $var =~ s/((\w+)<\/a>/$1$2/g; http://mail.pm.org/pipermail/cascavel-pm/2006-August/006795.html -- edenc.vox.com From fernandolouis em terra.com.br Mon Aug 18 17:12:04 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Mon, 18 Aug 2008 21:12:04 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= References: <92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <83d8367f0808181548u67c77f6fh3098538bb251bb4a@mail.gmail.com> Message-ID: Desculpe, realmente esqueci que o caracter de espaço \s deve ser levado em conta. E por que não dá certo dessa forma: $var =~ s/((\w)<\/a>/$1$2/g; e dessa forma dá ceto: $var =~ s/((n)<\/a>/$1$2/g; a única diferença entre as duas é (\w) por (n) Mas se \w é para reconhecer o "n", por que não funciona? ----- Original Message ----- From: "Gabriel Vieira" To: "Cascavel Perl Mongers" Sent: Monday, August 18, 2008 7:48 PM Subject: Re: [Cascavel-pm]expressão regular dentro de um arquivo html Que tal colocar os espaços na regex também? \s* # com já dá certo 2008/8/18 : > Pessoal, estou tendo um problema com expressões regulares. > > É o seguinte: > > está imprimindo assim: http://www.kussvanderlinde.adv.br/1.htm > > e quero que imprima assim: http://www.kussvanderlinde.adv.br/2.htm > > onde a $var recebe o seguinte: > > $var = "888 href=link1>188 href=link8>8"; > > para uma melhor leitura, $var recebe: > > $var = " > 8 > 8 > 8 > nk1>1 > 8 > 8 > 8 > "; > > então antes de imprimir, quero trocar o "n" pelo > conteúdo > que está sendo linkado ali, no caso, "n". > > para que $var fique assim: > > $var = " > 8 > 8 > 8 > 1 > 8 > 8 > 8 > "; > > tentei usar a seguinte regexp: > $var =~ s/((\w+)<\/a>/$1$2/g; > > mas não estou conseguindo com isso. Alguém pode me ajudar? > > lembrando que no exemplo, os endereços e os textos dos links podem ser > qualquer palavra ou número, ou seja \w+ > > Fernando > _______________________________________________ > 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 From edencardim em gmail.com Mon Aug 18 17:16:14 2008 From: edencardim em gmail.com (Eden Cardim) Date: Mon, 18 Aug 2008 21:16:14 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: References: <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <83d8367f0808181548u67c77f6fh3098538bb251bb4a@mail.gmail.com> Message-ID: <3de55ead0808181716s23953ab7k2b5e028d63303736@mail.gmail.com> 2008/8/18 : > Desculpe, realmente esqueci que o caracter de espaço \s deve ser levado em > conta. > > E por que não dá certo dessa forma: $var =~ s/( href=.+>(\w)<\/a>/$1$2/g; > > e dessa forma dá ceto: $var =~ s/((n)<\/a>/$1$2/g; > > a única diferença entre as duas é (\w) por (n) > > Mas se \w é para reconhecer o "n", por que não funciona? Porque quantificadores são "gulosos" por padrão. -- edenc.vox.com From fernandolouis em terra.com.br Mon Aug 18 17:22:07 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Mon, 18 Aug 2008 21:22:07 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= References: <509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><83d8367f0808181548u67c77f6fh3098538bb251bb4a@mail.gmail.com> <3de55ead0808181716s23953ab7k2b5e028d63303736@mail.gmail.com> Message-ID: <7C354B6D35774ADD9361FC92AB27309E@rede.local> Como assim gulosos? o que ele está reconhecendo então? $var = " 8 8 8 nk1>1 8 8 8 "; ----- Original Message ----- From: "Eden Cardim" To: "Cascavel Perl Mongers" Sent: Monday, August 18, 2008 9:16 PM Subject: Re: [Cascavel-pm]expressão regular dentro de um arquivo html 2008/8/18 : > Desculpe, realmente esqueci que o caracter de espaço \s deve ser levado em > conta. > > E por que não dá certo dessa forma: $var =~ s/( href=.+>(\w)<\/a>/$1$2/g; > > e dessa forma dá ceto: $var =~ s/((n)<\/a>/$1$2/g; > > a única diferença entre as duas é (\w) por (n) > > Mas se \w é para reconhecer o "n", por que não funciona? Porque quantificadores são "gulosos" por padrão. -- edenc.vox.com _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From edencardim em gmail.com Mon Aug 18 17:27:40 2008 From: edencardim em gmail.com (Eden Cardim) Date: Mon, 18 Aug 2008 21:27:40 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: <7C354B6D35774ADD9361FC92AB27309E@rede.local> References: <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <83d8367f0808181548u67c77f6fh3098538bb251bb4a@mail.gmail.com> <3de55ead0808181716s23953ab7k2b5e028d63303736@mail.gmail.com> <7C354B6D35774ADD9361FC92AB27309E@rede.local> Message-ID: <3de55ead0808181727t4db0b3c2ib381190df3bc8c44@mail.gmail.com> 2008/8/18 : > Como assim gulosos? o que ele está reconhecendo então? o primeiro .+ vai reconhecer tudo até o último (n)<\/a> -- edenc.vox.com From glasswalk3r em yahoo.com.br Mon Aug 18 17:40:07 2008 From: glasswalk3r em yahoo.com.br (Alceu Rodrigues de Freitas Junior) Date: Mon, 18 Aug 2008 21:40:07 -0300 Subject: [Cascavel-pm] Duvida com exec In-Reply-To: References: <48A09B27.2010604@yahoo.com.br> <48A0AFDA.2070502@aware.com.br> <23f46d7f0808111441u460c982djd6b606730dc990ff@mail.gmail.com> <48A14964.6020505@yahoo.co.uk> <48A1F4BD.9080005@yahoo.com.br> <48A2703E.7020804@yahoo.co.uk> Message-ID: <48AA1667.4030509@yahoo.com.br> breno escreveu: > Agustinho, > > o pessoal aqui é muito bom, conte com eles para ajudá-lo em sua busca > por conhecimento e *aceite* os conselhos sobre system() x exec(), > Net::Ping e módulos de envio de email (eu particularmente gosto do > Net::SMTP e MIME::Lite, queria saber a opinião dos outros). > > Mas, técnicas de programação Perl a parte, acho que seu programa não > está fazendo o que vc quer por alguns erros de sintaxe. Veja: > Se você quiser obter a saída de programas, recomendo dar uma olhada no módulo IPC::Open3::Simple. Eu fiz uma implementação um pouco diferente aqui: http://faus.cvs.sourceforge.net/faus/faus/FAUS-Utils/lib/FAUS/Utils/IPC.pm?view=markup Ambos provavelmente só funcionam direito em sistemas operacionais UNIX-like. []'s -- Alceu Rodrigues de Freitas Junior --- glasswalk3r em yahoo.com.br "when you don't create things, you become defined by your tastes rather than ability. Your tastes only narrow and exclude people. So create." From fernandolouis em terra.com.br Mon Aug 18 17:35:29 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Mon, 18 Aug 2008 21:35:29 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= References: <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><83d8367f0808181548u67c77f6fh3098538bb251bb4a@mail.gmail.com><3de55ead0808181716s23953ab7k2b5e028d63303736@mail.gmail.com><7C354B6D35774ADD9361FC92AB27309E@rede.local> <3de55ead0808181727t4db0b3c2ib381190df3bc8c44@mail.gmail.com> Message-ID: Entendi... quer dizer que um "." seguido de um "+" irá procurar qualquer caractere, qualquer número de vezes o mais à direita possível, ou seja, a instância que eu quero encontrar é obtida pela expressão ".+" ambiciosa. Como tirar essa ambição dos quantificadores? ----- Original Message ----- From: "Eden Cardim" To: "Cascavel Perl Mongers" Sent: Monday, August 18, 2008 9:27 PM Subject: Re: [Cascavel-pm]expressão regular dentro de um arquivo html 2008/8/18 : > Como assim gulosos? o que ele está reconhecendo então? o primeiro .+ vai reconhecer tudo até o último (n)<\/a> -- edenc.vox.com _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From edencardim em gmail.com Mon Aug 18 17:50:09 2008 From: edencardim em gmail.com (Eden Cardim) Date: Mon, 18 Aug 2008 21:50:09 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <83d8367f0808181548u67c77f6fh3098538bb251bb4a@mail.gmail.com> <3de55ead0808181716s23953ab7k2b5e028d63303736@mail.gmail.com> <7C354B6D35774ADD9361FC92AB27309E@rede.local> <3de55ead0808181727t4db0b3c2ib381190df3bc8c44@mail.gmail.com> Message-ID: <3de55ead0808181750w30f83df5w5d834de6698d8a8c@mail.gmail.com> 2008/8/18 : > Entendi... quer dizer que um "." seguido de um "+" irá procurar qualquer > caractere, qualquer número de vezes o mais à direita possível, ou seja, > a instância que eu quero encontrar é obtida pela expressão ".+" ambiciosa. > > Como tirar essa ambição dos quantificadores? perldoc perlre dica1: procure pela palavra "greedy" dica2: depois de encontrar o que quer, leia todo o resto, é bastante instrutivo, você não vai se arrepender -- edenc.vox.com From fernandolouis em terra.com.br Mon Aug 18 17:55:07 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Mon, 18 Aug 2008 21:55:07 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><83d8367f0808181548u67c77f6fh3098538bb251bb4a@mail.gmail.com><3de55ead0808181716s23953ab7k2b5e028d63303736@mail.gmail.com><7C354B6D35774ADD9361FC92AB27309E@rede.local><3de55ead0808181727t4db0b3c2ib381190df3bc8c44@mail.gmail.com> <3de55ead0808181750w30f83df5w5d834de6698d8a8c@mail.gmail.com> Message-ID: <2C15DA3EE7E340748BA4A84CFDFAB133@rede.local> Valeu Eden! perldoc é muito bom, mas como meu inglês não é lá "grandes coisa", prefiro o livro "PERL - GUIA COMPLETO - manual de referência rápida" []s, Fernando ----- Original Message ----- From: "Eden Cardim" To: "Cascavel Perl Mongers" Sent: Monday, August 18, 2008 9:50 PM Subject: Re: [Cascavel-pm]expressão regular dentro de um arquivo html 2008/8/18 : > Entendi... quer dizer que um "." seguido de um "+" irá procurar qualquer > caractere, qualquer número de vezes o mais à direita possível, ou seja, > a instância que eu quero encontrar é obtida pela expressão ".+" ambiciosa. > > Como tirar essa ambição dos quantificadores? perldoc perlre dica1: procure pela palavra "greedy" dica2: depois de encontrar o que quer, leia todo o resto, é bastante instrutivo, você não vai se arrepender -- edenc.vox.com _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From edencardim em gmail.com Mon Aug 18 18:08:40 2008 From: edencardim em gmail.com (Eden Cardim) Date: Mon, 18 Aug 2008 22:08:40 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: <2C15DA3EE7E340748BA4A84CFDFAB133@rede.local> References: <83d8367f0808181548u67c77f6fh3098538bb251bb4a@mail.gmail.com> <3de55ead0808181716s23953ab7k2b5e028d63303736@mail.gmail.com> <7C354B6D35774ADD9361FC92AB27309E@rede.local> <3de55ead0808181727t4db0b3c2ib381190df3bc8c44@mail.gmail.com> <3de55ead0808181750w30f83df5w5d834de6698d8a8c@mail.gmail.com> <2C15DA3EE7E340748BA4A84CFDFAB133@rede.local> Message-ID: <3de55ead0808181808h51c7313xf1a5d066da3efe3b@mail.gmail.com> 2008/8/18 : > Valeu Eden! > > perldoc é muito bom, mas como meu inglês não é lá "grandes coisa", prefiro o > livro "PERL - GUIA COMPLETO - manual de referência rápida" Com o tempo, você acostuma e acaba aprendendo :) -- edenc.vox.com From luismottacampos em yahoo.co.uk Tue Aug 19 04:21:21 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Tue, 19 Aug 2008 13:21:21 +0200 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: <48AAACB1.6010707@yahoo.co.uk> fernandolouis em terra.com.br wrote: > Pessoal, estou tendo um problema com expressões regulares. > > É o seguinte: > > está imprimindo assim: http://www.kussvanderlinde.adv.br/1.htm > > e quero que imprima assim: http://www.kussvanderlinde.adv.br/2.htm > > onde a $var recebe o seguinte: > > $var = "888 href=link1>18 href=link8>88"; > > para uma melhor leitura, $var recebe: > > $var = " > 8 > 8 > 8 > nk1>1 > 8 > 8 > 8 > "; > > então antes de imprimir, quero trocar o "n" pelo > conteúdo que está sendo linkado ali, no caso, "n". > > para que $var fique assim: > > $var = " > 8 > 8 > 8 > 1 > 8 > 8 > 8 > "; > > tentei usar a seguinte regexp: > $var =~ s/((\w+)<\/a>/$1$2/g; > > mas não estou conseguindo com isso. Alguém pode me ajudar? > > lembrando que no exemplo, os endereços e os textos dos links podem ser > qualquer palavra ou número, ou seja \w+ > > Fernando > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > OK, lição de Perl-Ioga número dois do ano... todo mundo cantando o mantra de sempre: Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Fernando, tem módulos para ler, interpretar e re-escrever HTML de sobra no CPAN. Tem também mais de 10 módulos que tratam XML e podem ser usados para tratar XML. O mirod (Michel Rodrigues, o francês que mantém o XML::Twig) ganhou um pint de Tuborg (a cerveja local na Dinamarca) de mim, a semana passada, por saber todos eles de cabeça. Pelamordedeus para de fazer coisas fáceis da maneira mais complicada - ainda vão culpar o Perl por causa da sua falta de cuidado para codificar. ;-) (*) Putamplexos. -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. (*) é uma piada, mas não deixa de ser uma alfinetada. From luismottacampos em yahoo.co.uk Tue Aug 19 04:22:07 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Tue, 19 Aug 2008 13:22:07 +0200 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: <3de55ead0808181642o61fb44c9s82658605fd2fd50a@mail.gmail.com> References: <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <3de55ead0808181642o61fb44c9s82658605fd2fd50a@mail.gmail.com> Message-ID: <48AAACDF.4040307@yahoo.co.uk> Eden Cardim wrote: > 2008/8/18 : >> tentei usar a seguinte regexp: >> $var =~ s/((\w+)<\/a>/$1$2/g; > > http://mail.pm.org/pipermail/cascavel-pm/2006-August/006795.html Boa lembrança, Eden. :) Obrigado. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From luismottacampos em yahoo.co.uk Tue Aug 19 04:32:48 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Tue, 19 Aug 2008 13:32:48 +0200 Subject: [Cascavel-pm] Net::SMTP & MIME::Lite [WAs: Duvida com exec] Message-ID: <48AAAF60.4000308@yahoo.co.uk> breno wrote: > o pessoal aqui é muito bom, conte com eles para ajudá-lo em sua busca > por conhecimento e *aceite* os conselhos sobre system() x exec(), > Net::Ping e módulos de envio de email (eu particularmente gosto do > Net::SMTP e MIME::Lite, queria saber a opinião dos outros). Breno, eu tenho código velho que ainda roda sobre o Net::SMTP. Particularmente, eu não gosto de escrever código Perl que envia emails. Mas é um bom módulo. Ele não tem suporte a algumas coisas importantes, e tem outros módulos que o extendem para implementar, como TLS, SMTP_auth, SSL, e assim vai. Você pode saber mais sobre a distribuição consultando o CPANTS. Lá tem relatórios das métricas de Kwalitee (soa como "Quality", mas não é), aplicadas regularmente sobre todos os módulos do CPAN. http://cpants.perl.org/dist/overview/libnet Outra coisa que eu gosto de olhar sobre o software é o bugtrack. O CPAN oferece Request Tracker para todo mundo que quiser ver, aqui: http://rt.cpan.org/Public/Dist/Display.html?Name=libnet Parece que o Graham Barr ainda mantém a libnet, o que é também um bom sinal. Sobre o MIME::Lite, eu vou deixar para você procurar e me dizer alguma coisa, como exercício. ;) Agora você já sabe onde ir e o que perguntar. Putamplexos. -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From fernandolouis em terra.com.br Tue Aug 19 04:33:43 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Tue, 19 Aug 2008 08:33:43 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?m=F3dulos_existentes_Was=3A__express?= =?iso-8859-1?q?=E3o_regular_dentro_de_um_arquivo_html?= References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48AAACB1.6010707@yahoo.co.uk> Message-ID: ok Luis, as vezes, sem necessidade, reinvento a roda. A verdade é que desconheço tantos módulos existentes. Existe alguma tabela onde em uma coluna diz o módulo e na outra o que ele faz? Fernando ----- Original Message ----- From: "Luis Motta Campos" To: "Cascavel Perl Mongers" Sent: Tuesday, August 19, 2008 8:21 AM Subject: Re: [Cascavel-pm] expressão regular dentro de um arquivo html fernandolouis em terra.com.br wrote: > Pessoal, estou tendo um problema com expressões regulares. > > É o seguinte: > > está imprimindo assim: http://www.kussvanderlinde.adv.br/1.htm > > e quero que imprima assim: http://www.kussvanderlinde.adv.br/2.htm > > onde a $var recebe o seguinte: > > $var = "888 href=link1>18 href=link8>88"; > > para uma melhor leitura, $var recebe: > > $var = " > 8 > 8 > 8 > nk1>1 > 8 > 8 > 8 > "; > > então antes de imprimir, quero trocar o "n" pelo > conteúdo que está sendo linkado ali, no caso, "n". > > para que $var fique assim: > > $var = " > 8 > 8 > 8 > 1 > 8 > 8 > 8 > "; > > tentei usar a seguinte regexp: > $var =~ s/((\w+)<\/a>/$1$2/g; > > mas não estou conseguindo com isso. Alguém pode me ajudar? > > lembrando que no exemplo, os endereços e os textos dos links podem ser > qualquer palavra ou número, ou seja \w+ > > Fernando > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > OK, lição de Perl-Ioga número dois do ano... todo mundo cantando o mantra de sempre: Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Nunca use regular expressions para tratar XML. Fernando, tem módulos para ler, interpretar e re-escrever HTML de sobra no CPAN. Tem também mais de 10 módulos que tratam XML e podem ser usados para tratar XML. O mirod (Michel Rodrigues, o francês que mantém o XML::Twig) ganhou um pint de Tuborg (a cerveja local na Dinamarca) de mim, a semana passada, por saber todos eles de cabeça. Pelamordedeus para de fazer coisas fáceis da maneira mais complicada - ainda vão culpar o Perl por causa da sua falta de cuidado para codificar. ;-) (*) Putamplexos. -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. (*) é uma piada, mas não deixa de ser uma alfinetada. _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From luismottacampos em yahoo.co.uk Tue Aug 19 04:42:53 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Tue, 19 Aug 2008 13:42:53 +0200 Subject: [Cascavel-pm] =?iso-8859-1?q?m=F3dulos_existentes_Was=3A__express?= =?iso-8859-1?q?=E3o_regular_dentro_de_um_arquivo_html?= In-Reply-To: References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48AAACB1.6010707@yahoo.co.uk> Message-ID: <48AAB1BD.2050200@yahoo.co.uk> fernandolouis em terra.com.br wrote: > ok Luis, > > as vezes, sem necessidade, reinvento a roda. A verdade é que desconheço > tantos módulos existentes. > Existe alguma tabela onde em uma coluna diz o módulo e na outra o que > ele faz? Claro. E está online: http://search.cpan.org/ Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From wendelscardua em gmail.com Tue Aug 19 07:15:41 2008 From: wendelscardua em gmail.com (Wendel Scardua) Date: Tue, 19 Aug 2008 11:15:41 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: <48AAACB1.6010707@yahoo.co.uk> References: <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48AAACB1.6010707@yahoo.co.uk> Message-ID: <726229b50808190715v66279770jbee706592382755c@mail.gmail.com> > OK, lição de Perl-Ioga número dois do ano... todo mundo cantando o > mantra de sempre: > > Nunca use regular expressions para tratar XML. Mas até onde entendi, a string original ainda não é um HTML/XML/whateverML válido. Parece que ele tá tentando consertar um HTML que foi estragado por outrem (*). Tipo, alguém tentou transformar textos em links e a busca acabou casando com texto dentro de tags... Talvez até exista alguma forma de usar módulos de /\w+ML/, mas não parece ser tão trivial assim... []s Wendel (*) mais uma que eu risco da lista de "palavras não utilizadas" From luismottacampos em yahoo.co.uk Tue Aug 19 07:31:27 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Tue, 19 Aug 2008 16:31:27 +0200 Subject: [Cascavel-pm] =?iso-8859-1?q?express=E3o_regular_dentro_de_um_arq?= =?iso-8859-1?q?uivo_html?= In-Reply-To: <726229b50808190715v66279770jbee706592382755c@mail.gmail.com> References: <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48AAACB1.6010707@yahoo.co.uk> <726229b50808190715v66279770jbee706592382755c@mail.gmail.com> Message-ID: <48AAD93F.1070805@yahoo.co.uk> Wendel Scardua wrote: >> OK, lição de Perl-Ioga número dois do ano... todo mundo cantando o >> mantra de sempre: >> >> Nunca use regular expressions para tratar XML. > > Mas até onde entendi, a string original ainda não é um > HTML/XML/whateverML válido. Parece que ele tá tentando consertar um > HTML que foi estragado por outrem (*). Tipo, alguém tentou transformar > textos em links e a busca acabou casando com texto dentro de tags... > Se este é o problema (e eu não entendi assim), então a solução é simples: restaura do backup (*). Putamplexos. -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. (*) sim, eu sou cruel. From breno em rio.pm.org Wed Aug 20 15:43:01 2008 From: breno em rio.pm.org (breno) Date: Wed, 20 Aug 2008 19:43:01 -0300 Subject: [Cascavel-pm] Net::SMTP & MIME::Lite [WAs: Duvida com exec In-Reply-To: <48AAAF60.4000308@yahoo.co.uk> References: <48AAAF60.4000308@yahoo.co.uk> Message-ID: Oi Champs, obrigado pelo retorno! A verdade é que eu gosto da regra dos 80% do Schwern e acho que não há teste de qualidade (ou de "kwalidade" ;) que substitua a experiência do programador, usuário de módulos. Por isso valorizo muito mais a sua opinião de "Mas é um bom módulo" do que os 95,65% de kwalitee da libnet. Se atende às nossas necessidades corretamente e sem dar xabu (é assim que se escreve?) é uma boa opção... Agora, o Mime::Lite ainda me deixa na dúvida. Segundo o meu dever de casa, ele tem 121,74% de kwalitee (não sei se concordo muito com a métrica, deveria ser 0-100 pras métricas oficiais e outro 0-100 para métricas opcionais, assim ele seria 95,65% - 66,67%, ou então bota tudo como métrica e deixa só 0-100), o que é bom, mas tem um monte de bugs abertos no rt há anos perdidos sem qualquer notificação oficial de tratamento, e a última versão dele tem quase um ano (estabilidade não é ruim, mas qdo há bugs abertos parece abandono ou descaso). Como os monges fazem para formatar mensagens de correio eletrônico anexando imagens e html em emails? Mime-Lite? Outro? []s -b 2008/8/19 Luis Motta Campos : > breno wrote: >> o pessoal aqui é muito bom, conte com eles para ajudá-lo em sua busca >> por conhecimento e *aceite* os conselhos sobre system() x exec(), >> Net::Ping e módulos de envio de email (eu particularmente gosto do >> Net::SMTP e MIME::Lite, queria saber a opinião dos outros). > > Breno, > > eu tenho código velho que ainda roda sobre o Net::SMTP. > > Particularmente, eu não gosto de escrever código Perl que envia emails. > Mas é um bom módulo. Ele não tem suporte a algumas coisas importantes, e > tem outros módulos que o extendem para implementar, como TLS, SMTP_auth, > SSL, e assim vai. > > Você pode saber mais sobre a distribuição consultando o CPANTS. Lá tem > relatórios das métricas de Kwalitee (soa como "Quality", mas não é), > aplicadas regularmente sobre todos os módulos do CPAN. > > http://cpants.perl.org/dist/overview/libnet > > Outra coisa que eu gosto de olhar sobre o software é o bugtrack. O CPAN > oferece Request Tracker para todo mundo que quiser ver, aqui: > > http://rt.cpan.org/Public/Dist/Display.html?Name=libnet > > Parece que o Graham Barr ainda mantém a libnet, o que é também um bom sinal. > > Sobre o MIME::Lite, eu vou deixar para você procurar e me dizer alguma > coisa, como exercício. ;) Agora você já sabe onde ir e o que perguntar. > > Putamplexos. > -- > Luis Motta Campos is a software engineer, > Perl Programmer, foodie and photographer. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From luismottacampos em yahoo.co.uk Thu Aug 21 04:10:27 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Thu, 21 Aug 2008 13:10:27 +0200 Subject: [Cascavel-pm] Net::SMTP & MIME::Lite [WAs: Duvida com exec In-Reply-To: References: <48AAAF60.4000308@yahoo.co.uk> Message-ID: <48AD4D23.2090701@yahoo.co.uk> breno wrote: > obrigado pelo retorno! A verdade é que eu gosto da regra dos 80% do > Schwern e acho que não há teste de qualidade (ou de "kwalidade" ;) > que substitua a experiência do programador, usuário de módulos. Vai com calma. A gente pode estar falando de coisas diferentes. Se um módulo me agrada, por que eu gosto do autor ou da interface de programação, isso não quer dizer que ele seja bom. Eu apontei você para o Kwalitee exatamente por causa disso: é uma forma científica de dizer "isto é bom", ou "isto é ruim". > Por isso valorizo muito mais a sua opinião de "Mas é um bom módulo" > do que os 95,65% de kwalitee da libnet. Se atende às nossas > necessidades corretamente e sem dar xabu (é assim que se escreve?) é > uma boa opção... Bom, neste caso, este está fechado. > Agora, o Mime::Lite ainda me deixa na dúvida. Segundo o meu dever de > casa, ele tem 121,74% de kwalitee (não sei se concordo muito com a > métrica, deveria ser 0-100 pras métricas oficiais e outro 0-100 para > métricas opcionais, assim ele seria 95,65% - 66,67%, ou então bota > tudo como métrica e deixa só 0-100), o que é bom, mas tem um monte de > bugs abertos no rt há anos perdidos sem qualquer notificação oficial > de tratamento, e a última versão dele tem quase um ano (estabilidade > não é ruim, mas qdo há bugs abertos parece abandono ou descaso). Eu, pessoalmente, não gosto do MIME::Lite. Teve ocasiões em que ele me deixou muito na mão, e outras tantas vezes que eu me senti "encaixotado", preso, amarrado. Agora, isso é /feeling/, não tem nada a ver com o módulo em si. Por outro lado, os bugs abertos e a falta de atividade por tanto tempo dizem contra o módulo, e eu buscaria outras alternativas. > Como os monges fazem para formatar mensagens de correio eletrônico > anexando imagens e html em emails? Mime-Lite? Outro? Eu não recomendo que emails sejam enviados em formatos diferentes de ASCII ou, no máximo, UTF8. HTML e imagens são coisas para websites, não para emails. Mas isso, claro, é a minha opinião pessoal sobre o assunto, e não reflete a opinião ou as necessidades da maioria. ;) Putamplexos. -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From gabriel.vieira em gmail.com Thu Aug 21 08:08:41 2008 From: gabriel.vieira em gmail.com (Gabriel Vieira) Date: Thu, 21 Aug 2008 12:08:41 -0300 Subject: [Cascavel-pm] [OT][JOB]: Criador de Pacotes Debian/Ubuntu no Interlegis Message-ID: <83d8367f0808210808k5ab4718p77af129666a575d3@mail.gmail.com> Desculpe o cross-posting. Repassando. ---- Sobre a empresa: O Interlegis é um programa desenvolvido pelo Senado Federal, em parceria com o Banco Interamericano de Desenvolvimento (BID), de modernização e integração do Poder Legislativo nos seus níveis federal, estadual e municipal e de promoção da maior transparência e interação desse Poder com a sociedade. Os meios utilizados são as novas tecnologias de informação (Internet, videoconferência e transmissão de dados), que permitem a comunicação e a troca de experiências entre as Casas Legislativas e os legisladores e entre o Poder Legislativo e o público, visando aumentar a participação da população no processo legislativo. Mais de 3 mil Câmaras Municipais já receberam computadores e impressoras do Programa para se ligarem à Internet, usarem o correio eletrônico e colocarem suas informações à disposição dos internautas. Todas as assembléias estaduais passaram a contar com salas de multiuso (20 computadores em rede) e salas de videoconferência totalmente equipadas. Sobre o candidato ideal: Requisitos obrigatórios: Curso Superior concluído na área de Tecnologia da Informação ou afins; Experiência comprovada em empacotamento de softwares para GNU/Linux. Requisitos classificatórios: Certificação LPI; Participação no Projeto Debian ou no Projeto Ubuntu; Ser mantenedor de pacotes Debian ou Ubuntu; Conhecimento e experiência em software livre; Conhecimento em Python; Conhecimento em Zope/Plone; Conhecimento em SGBD PostgreSQL; Conhecimento em SGBD MySQL; Conhecimento em documentação de produtos de software; Inglês técnico. Sobre a vaga: Atividades: Estudar os sistemas desenvolvidos pelo Interlegis; Implementar rotina padrão de geração de novos pacotes; Gerar pacotes dos sistemas para as versões de GNU/Linux Ubuntu e Debian; Configurar o repositório de pacotes do Interlegis; Documentar processos de geração de pacotes; Repassar procedimentos e conhecimento à equipe técnica do Interlegis. Produtos Esperados Documento do projeto de empacotamento dos sistemas com scripts e rotinas de geração dos pacotes de instalação dos sistemas; Pacotes de instalação gerados, com os scripts e patchs aplicados, e testados nas diferentes versões dos Sistemas Operacionais GNU/Linux Ubuntu e Debian; Configuração do repositório do Interlegis seguindo os padrões Ubuntu e Debian e configuração do mirror Ubuntu do Interlegis e documentação sobre as rotinas de empacotamento e atualização dos pacotes de instalação dos sistemas. Tipo de Contrato: Produto Valor de Contrato: R$ 25.000,00 Vigência: 01/09/2008 a 07/11/2008 Local de Trabalho: Brasília e, ocasionalmente, outros municípios brasileiros. Para se candidatar, veja em http://job4dev.com/view/222/ -- Gabriel Vieira From fernandolouis em terra.com.br Thu Aug 21 12:51:37 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Thu, 21 Aug 2008 16:51:37 -0300 Subject: [Cascavel-pm] Evento sobre Ruby on Rails References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: Se alguém se interessa... aí está a dica: http://www.locaweb.com.br/railssummit/ []s, Fernando From jaja.gabriel em gmail.com Fri Aug 22 18:49:12 2008 From: jaja.gabriel em gmail.com (Joao Gabriel C. Laass) Date: Fri, 22 Aug 2008 22:49:12 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?dica_de_experi=EAncia=3A_qual_a_melh?= =?iso-8859-1?q?or_forma_de_evitar_anti_sql_injection?= Message-ID: <8ff2963a0808221849g69e7c06ga772b47f73301f6@mail.gmail.com> Olá monges. Dei uma breve pesquisada no google, e vi muitos exemplos de anti sql injection tem php, feitos do seguinte modo: remover palavras chaves do mysql em uma string, tais como "delete", "insert"... ou seja, se encontrar essas palavras, delete-as da string. Sinceramente não acho essa uma boa solução. Gostaria de saber a opnião solução mais usada entre nobres amigos. -- João Gabriel C. Laass Vitória PM -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From edencardim em gmail.com Fri Aug 22 19:10:03 2008 From: edencardim em gmail.com (Eden Cardim) Date: Fri, 22 Aug 2008 23:10:03 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?dica_de_experi=EAncia=3A_qual_a_melh?= =?iso-8859-1?q?or_forma_de_evitar_anti_sql_injection?= In-Reply-To: <8ff2963a0808221849g69e7c06ga772b47f73301f6@mail.gmail.com> References: <8ff2963a0808221849g69e7c06ga772b47f73301f6@mail.gmail.com> Message-ID: <3de55ead0808221910m77e265e2v1ab142e11ac9afa0@mail.gmail.com> 2008/8/22 Joao Gabriel C. Laass : > Olá monges. > > Dei uma breve pesquisada no google, e vi muitos exemplos de anti sql > injection tem php, feitos do seguinte modo: > remover palavras chaves do mysql em uma string, tais como "delete", > "insert"... ou seja, se encontrar essas palavras, delete-as da string. > > Sinceramente não acho essa uma boa solução. > > Gostaria de saber a opnião solução mais usada entre nobres amigos. DBI + placeholders. -- edenc.vox.com From fernandolouis em terra.com.br Mon Aug 25 10:55:19 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Mon, 25 Aug 2008 14:55:19 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: Gostaria de reconhecer determinada palavra dentro de uma string, mas somente fazer essa verificação na terceira linha. Há uma maneira simples? Ou devo separar cada linha em um vetor e então pegar o vetor[3] e fazer o reconhecimento de padrão? []s, Fernando From luismottacampos em yahoo.co.uk Mon Aug 25 12:07:14 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Mon, 25 Aug 2008 21:07:14 +0200 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= In-Reply-To: References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: <48B302E2.8000106@yahoo.co.uk> fernandolouis em terra.com.br wrote: > Gostaria de reconhecer determinada palavra dentro de uma string, mas > somente fazer essa verificação na terceira linha. > > Há uma maneira simples? Ou devo separar cada linha em um vetor e então > pegar o vetor[3] e fazer o reconhecimento de padrão? http://xkcd.com/208/ sub have_word_in_third_line { my ( $ word, $text ) = @_; return $text =~ m{^(?:[^\n\v].*){3}$word}xsm; } Como eu não testei, não sei dizer se funciona. :) Mas eu começaria assim. Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From fernandocorrea em gmail.com Mon Aug 25 12:26:49 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Mon, 25 Aug 2008 16:26:49 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= In-Reply-To: <48B302E2.8000106@yahoo.co.uk> References: <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48B302E2.8000106@yahoo.co.uk> Message-ID: eu faria algo assim: oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 3 palavra SIM! existe palavra na 3a linha oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 2 palavra oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 1 lalala SIM! existe lalala na 1a linha oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 3 lalala oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 4 lalala SIM! existe lalala na 4a linha oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > cat procura.pl $linha=shift() - 1;$palavra=shift; $a=join"",; print "SIM! existe $palavra na ".($linha+1)."a linha$/" if $a=~/^(?:.*?\n){$linha}[^\n]*?$palavra/ __DATA__ lalala lelele lilili lololo abc palavra def lululu lalala lelele lilili oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > 2008/8/25 Luis Motta Campos > fernandolouis em terra.com.br wrote: > >> Gostaria de reconhecer determinada palavra dentro de uma string, mas >> somente fazer essa verificação na terceira linha. >> >> Há uma maneira simples? Ou devo separar cada linha em um vetor e então >> pegar o vetor[3] e fazer o reconhecimento de padrão? >> > > http://xkcd.com/208/ > > sub have_word_in_third_line { > my ( $ word, $text ) = @_; > return $text =~ m{^(?:[^\n\v].*){3}$word}xsm; > } > > Como eu não testei, não sei dizer se funciona. :) Mas eu começaria assim. > > Putamplexos! > -- > Luis Motta Campos is a software engineer, > Perl Programmer, foodie and photographer. > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From fernandolouis em terra.com.br Tue Aug 26 04:16:59 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Tue, 26 Aug 2008 08:16:59 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= References: <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk> Message-ID: Perfeito Fernando! Já estou usando seu exemplo... só não entendi qual a função das "?" nele. Poderia me explicar? []s, Fernando ----- Original Message ----- From: Fernando Oliveira To: Cascavel Perl Mongers Sent: Monday, August 25, 2008 4:26 PM Subject: Re: [Cascavel-pm]coincidência de padrões e um lugar específico numa string eu faria algo assim: oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 3 palavra SIM! existe palavra na 3a linha oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 2 palavra oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 1 lalala SIM! existe lalala na 1a linha oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 3 lalala oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 4 lalala SIM! existe lalala na 4a linha oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > cat procura.pl $linha=shift() - 1;$palavra=shift; $a=join"",; print "SIM! existe $palavra na ".($linha+1)."a linha$/" if $a=~/^(?:.*?\n){$linha}[^\n]*?$palavra/ __DATA__ lalala lelele lilili lololo abc palavra def lululu lalala lelele lilili oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > 2008/8/25 Luis Motta Campos fernandolouis em terra.com.br wrote: Gostaria de reconhecer determinada palavra dentro de uma string, mas somente fazer essa verificação na terceira linha. Há uma maneira simples? Ou devo separar cada linha em um vetor e então pegar o vetor[3] e fazer o reconhecimento de padrão? http://xkcd.com/208/ sub have_word_in_third_line { my ( $ word, $text ) = @_; return $text =~ m{^(?:[^\n\v].*){3}$word}xsm; } Como eu não testei, não sei dizer se funciona. :) Mas eu começaria assim. Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org ------------------------------------------------------------------------------ _______________________________________________ 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 fernandocorrea em gmail.com Tue Aug 26 05:53:33 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 26 Aug 2008 09:53:33 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= In-Reply-To: References: <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48B302E2.8000106@yahoo.co.uk> Message-ID: Qual dos "?"? 2008/8/26 > Perfeito Fernando! > Já estou usando seu exemplo... só não entendi qual a função das "?" nele. > Poderia me explicar? > > []s, > Fernando > > ----- Original Message ----- > *From:* Fernando Oliveira > *To:* Cascavel Perl Mongers > *Sent:* Monday, August 25, 2008 4:26 PM > *Subject:* Re: [Cascavel-pm]coincidência de padrões e um lugar específico > numa string > > eu faria algo assim: > > oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl > procura.pl 3 palavra > SIM! existe palavra na 3a linha > oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl > procura.pl 2 palavra > oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl > procura.pl 1 lalala > SIM! existe lalala na 1a linha > oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl > procura.pl 3 lalala > oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl > procura.pl 4 lalala > SIM! existe lalala na 4a linha > oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > cat > procura.pl > $linha=shift() - 1;$palavra=shift; > $a=join"",; > print "SIM! existe $palavra na ".($linha+1)."a linha$/" if > $a=~/^(?:.*?\n){$linha}[^\n]*?$palavra/ > __DATA__ > lalala lelele > lilili lololo > abc palavra def > lululu lalala > lelele lilili > oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > > > 2008/8/25 Luis Motta Campos > >> fernandolouis em terra.com.br wrote: >> >>> Gostaria de reconhecer determinada palavra dentro de uma string, mas >>> somente fazer essa verificação na terceira linha. >>> >>> Há uma maneira simples? Ou devo separar cada linha em um vetor e então >>> pegar o vetor[3] e fazer o reconhecimento de padrão? >>> >> >> http://xkcd.com/208/ >> >> sub have_word_in_third_line { >> my ( $ word, $text ) = @_; >> return $text =~ m{^(?:[^\n\v].*){3}$word}xsm; >> } >> >> Como eu não testei, não sei dizer se funciona. :) Mas eu começaria assim. >> >> Putamplexos! >> -- >> Luis Motta Campos is a software engineer, >> Perl Programmer, foodie and photographer. >> >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm >> > > > > -- > Just another Perl Hacker, > Fernando (SmokeMachine) > http://perl-e.org > > ------------------------------ > > _______________________________________________ > 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 > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From fernandolouis em terra.com.br Tue Aug 26 06:07:21 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Tue, 26 Aug 2008 10:07:21 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= References: <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk> Message-ID: <4990078DA9CE4F79B2878301954A1163@rede.local> *? e (? O "?" é um quantifdicador nessa expressão? Desconnheço outra função do "?" se não esta. ----- Original Message ----- From: Fernando Oliveira To: Cascavel Perl Mongers Sent: Tuesday, August 26, 2008 9:53 AM Subject: Re: [Cascavel-pm]coincidência de padrões e um lugar específico numa string Qual dos "?"? 2008/8/26 Perfeito Fernando! Já estou usando seu exemplo... só não entendi qual a função das "?" nele. Poderia me explicar? []s, Fernando ----- Original Message ----- From: Fernando Oliveira To: Cascavel Perl Mongers Sent: Monday, August 25, 2008 4:26 PM Subject: Re: [Cascavel-pm]coincidência de padrões e um lugar específico numa string eu faria algo assim: oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 3 palavra SIM! existe palavra na 3a linha oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 2 palavra oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 1 lalala SIM! existe lalala na 1a linha oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 3 lalala oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > perl procura.pl 4 lalala SIM! existe lalala na 4a linha oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > cat procura.pl $linha=shift() - 1;$palavra=shift; $a=join"",; print "SIM! existe $palavra na ".($linha+1)."a linha$/" if $a=~/^(?:.*?\n){$linha}[^\n]*?$palavra/ __DATA__ lalala lelele lilili lololo abc palavra def lululu lalala lelele lilili oidvap15"@"abrdev01:/apl/dv/bp_aplic/desenv/fernando-novo/DS32788 > 2008/8/25 Luis Motta Campos fernandolouis em terra.com.br wrote: Gostaria de reconhecer determinada palavra dentro de uma string, mas somente fazer essa verificação na terceira linha. Há uma maneira simples? Ou devo separar cada linha em um vetor e então pegar o vetor[3] e fazer o reconhecimento de padrão? http://xkcd.com/208/ sub have_word_in_third_line { my ( $ word, $text ) = @_; return $text =~ m{^(?:[^\n\v].*){3}$word}xsm; } Como eu não testei, não sei dizer se funciona. :) Mas eu começaria assim. Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------------------------------------------------------------------- _______________________________________________ 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 -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org ------------------------------------------------------------------------------ _______________________________________________ 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 wendelscardua em gmail.com Tue Aug 26 06:49:01 2008 From: wendelscardua em gmail.com (Wendel Scardua) Date: Tue, 26 Aug 2008 10:49:01 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= In-Reply-To: <4990078DA9CE4F79B2878301954A1163@rede.local> References: <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> Message-ID: <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> Resposta curta: RTFM, aka "perldoc perlre" :-) Resposta longa: (? normalmente não é algo válido, então essa expressão é usada para algumas especiais (condicionais, recursividade, look-forward, etc...) No caso, a expressão é (?: .... ) , que é um grupo-que-não-captura. Normalmente, você usa os parênteses pra "capturar" a ocorrência (armazenando-a em $1, $2, etc... ). Mas às vezes você quer agrupar uma parte da regexp só pra aplicar uma operação, como em: /foo(\d+lerolero)*bar/ . Aqui, você pode não estar interessado em colocar o match de "\d+lerolero" em $1, você só queria aplicar o "*" naquele trecho - sem falar que essa captura é mais ineficiente. Então você usa o (?: ... ) pra agrupar: /foo(?:\d+lerolero)*bar/ Além disso, o (?: ) permite a você passar algumas opções de regexp apenas praquele trecho ( como o /i pra ser case-insensitive, ou /s pro "." casar com quebra de linha, etc...): /foo(?i:.+lerolero)*bar/ Ou ainda tirar essas opções do trecho (ou ao mesmo tempo habilitar coisas e desabilitar coisas): /foo(?s-i:.+lerolero)*bar/i E, claro, perldoc perlre para mais informações. :-) []s Wendel 2008/8/26 : > *? e (? > > O "?" é um quantifdicador nessa expressão? Desconnheço outra função do "?" > se não esta. > From fernandolouis em terra.com.br Tue Aug 26 06:52:47 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Tue, 26 Aug 2008 10:52:47 -0300 Subject: [Cascavel-pm] url: passagem de valores References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> Message-ID: <702AB44F7FF84B11ACAB190BC1B58403@rede.local> Qual o módulo que resolve o problema de codificação para caracteres com acentuação? O problema ocorre quando insiro um texto (com acentuação) no meu DB através de um programa-perl. Estou tentando com o URI:Escape mas não está resolvendo. ex: $valor_variavel_recebida = uri_unescape($valor_variavel_recebida); valeu, Fernando From gabriel.vieira em gmail.com Tue Aug 26 07:06:32 2008 From: gabriel.vieira em gmail.com (Gabriel Vieira) Date: Tue, 26 Aug 2008 11:06:32 -0300 Subject: [Cascavel-pm] url: passagem de valores In-Reply-To: <702AB44F7FF84B11ACAB190BC1B58403@rede.local> References: <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <702AB44F7FF84B11ACAB190BC1B58403@rede.local> Message-ID: <83d8367f0808260706w11f47d44jb85f52a142d4ce21@mail.gmail.com> Cara, qual valor vc tenta inserir e qual esta sendo inserido? 2008/8/26 : > Qual o módulo que resolve o problema de codificação para caracteres com > acentuação? > > O problema ocorre quando insiro um texto (com acentuação) no meu DB através > de um programa-perl. > > Estou tentando com o URI:Escape mas não está resolvendo. > > ex: $valor_variavel_recebida = uri_unescape($valor_variavel_recebida); > > valeu, > Fernando > > > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Gabriel Vieira From acid06 em gmail.com Tue Aug 26 07:07:21 2008 From: acid06 em gmail.com (Nilson Santos Figueiredo Junior) Date: Tue, 26 Aug 2008 11:07:21 -0300 Subject: [Cascavel-pm] url: passagem de valores In-Reply-To: <702AB44F7FF84B11ACAB190BC1B58403@rede.local> References: <92B8A86B1D124E2D8A792897482D369E@rede.local> <726229b50808010624n41015057l7afef9546068da79@mail.gmail.com> <509D2D765D5143CE99B1C3F3EC70C563@rede.local> <9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com> <7E90DA7B03924403AD97E4F55B2E1DE1@rede.local> <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <702AB44F7FF84B11ACAB190BC1B58403@rede.local> Message-ID: <9a08c9b40808260707o62dce45esc2a31d04c5f54d49@mail.gmail.com> 2008/8/26 : > Qual o módulo que resolve o problema de codificação para caracteres com > acentuação? Os browsers já enviam os dados na codificação que você solicitou então, se você está tendo problemas com isso, provavelmente está fazendo algo errado em algum lugar. De qualquer maneira, os módulos utf8 e Encode podem te ajudar. -Nilson Santos F. Jr. From fernandolouis em terra.com.br Tue Aug 26 07:06:31 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Tue, 26 Aug 2008 11:06:31 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= References: <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> Message-ID: É verdade amigo... lembrei agora dessa utilização. Na verdade é uma sintaxe estendida para as expressões, onde depois da "?" é a função da extensão. De qualquer forma, agradeço a explicações Wendel. []s, Fernando ----- Original Message ----- From: "Wendel Scardua" To: "Cascavel Perl Mongers" Sent: Tuesday, August 26, 2008 10:49 AM Subject: Re: [Cascavel-pm]coincidência de padrões e um lugar específico numa string Resposta curta: RTFM, aka "perldoc perlre" :-) Resposta longa: (? normalmente não é algo válido, então essa expressão é usada para algumas especiais (condicionais, recursividade, look-forward, etc...) No caso, a expressão é (?: .... ) , que é um grupo-que-não-captura. Normalmente, você usa os parênteses pra "capturar" a ocorrência (armazenando-a em $1, $2, etc... ). Mas às vezes você quer agrupar uma parte da regexp só pra aplicar uma operação, como em: /foo(\d+lerolero)*bar/ . Aqui, você pode não estar interessado em colocar o match de "\d+lerolero" em $1, você só queria aplicar o "*" naquele trecho - sem falar que essa captura é mais ineficiente. Então você usa o (?: ... ) pra agrupar: /foo(?:\d+lerolero)*bar/ Além disso, o (?: ) permite a você passar algumas opções de regexp apenas praquele trecho ( como o /i pra ser case-insensitive, ou /s pro "." casar com quebra de linha, etc...): /foo(?i:.+lerolero)*bar/ Ou ainda tirar essas opções do trecho (ou ao mesmo tempo habilitar coisas e desabilitar coisas): /foo(?s-i:.+lerolero)*bar/i E, claro, perldoc perlre para mais informações. :-) []s Wendel 2008/8/26 : > *? e (? > > O "?" é um quantifdicador nessa expressão? Desconnheço outra função do "?" > se não esta. > _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From fernandolouis em terra.com.br Tue Aug 26 07:08:21 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Tue, 26 Aug 2008 11:08:21 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= References: <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> Message-ID: <64DFE8DDE0CF4735843FDC633ED8A99D@rede.local> Esqueci de perguntar... e o "*?" ? ----- Original Message ----- From: "Wendel Scardua" To: "Cascavel Perl Mongers" Sent: Tuesday, August 26, 2008 10:49 AM Subject: Re: [Cascavel-pm]coincidência de padrões e um lugar específico numa string Resposta curta: RTFM, aka "perldoc perlre" :-) Resposta longa: (? normalmente não é algo válido, então essa expressão é usada para algumas especiais (condicionais, recursividade, look-forward, etc...) No caso, a expressão é (?: .... ) , que é um grupo-que-não-captura. Normalmente, você usa os parênteses pra "capturar" a ocorrência (armazenando-a em $1, $2, etc... ). Mas às vezes você quer agrupar uma parte da regexp só pra aplicar uma operação, como em: /foo(\d+lerolero)*bar/ . Aqui, você pode não estar interessado em colocar o match de "\d+lerolero" em $1, você só queria aplicar o "*" naquele trecho - sem falar que essa captura é mais ineficiente. Então você usa o (?: ... ) pra agrupar: /foo(?:\d+lerolero)*bar/ Além disso, o (?: ) permite a você passar algumas opções de regexp apenas praquele trecho ( como o /i pra ser case-insensitive, ou /s pro "." casar com quebra de linha, etc...): /foo(?i:.+lerolero)*bar/ Ou ainda tirar essas opções do trecho (ou ao mesmo tempo habilitar coisas e desabilitar coisas): /foo(?s-i:.+lerolero)*bar/i E, claro, perldoc perlre para mais informações. :-) []s Wendel 2008/8/26 : > *? e (? > > O "?" é um quantifdicador nessa expressão? Desconnheço outra função do "?" > se não esta. > _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From fernandocorrea em gmail.com Tue Aug 26 07:20:30 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 26 Aug 2008 11:20:30 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= In-Reply-To: <64DFE8DDE0CF4735843FDC633ED8A99D@rede.local> References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <64DFE8DDE0CF4735843FDC633ED8A99D@rede.local> Message-ID: Minimo... 2008/8/26 > Esqueci de perguntar... > e o "*?" ? > > ----- Original Message ----- From: "Wendel Scardua" < > wendelscardua em gmail.com> > To: "Cascavel Perl Mongers" > Sent: Tuesday, August 26, 2008 10:49 AM > Subject: Re: [Cascavel-pm]coincidência de padrões e um lugar específico > numa string > > > Resposta curta: RTFM, aka "perldoc perlre" :-) > > Resposta longa: > > (? normalmente não é algo válido, então essa expressão é usada para > algumas especiais (condicionais, recursividade, look-forward, etc...) > > No caso, a expressão é (?: .... ) , que é um grupo-que-não-captura. > > Normalmente, você usa os parênteses pra "capturar" a ocorrência > (armazenando-a em $1, $2, etc... ). Mas às vezes você quer agrupar uma > parte da regexp só pra aplicar uma operação, como em: > /foo(\d+lerolero)*bar/ . Aqui, você pode não estar interessado em > colocar o match de "\d+lerolero" em $1, você só queria aplicar o "*" > naquele trecho - sem falar que essa captura é mais ineficiente. Então > você usa o (?: ... ) pra agrupar: > > /foo(?:\d+lerolero)*bar/ > > Além disso, o (?: ) permite a você passar algumas opções de regexp > apenas praquele trecho ( como o /i pra ser case-insensitive, ou /s pro > "." casar com quebra de linha, etc...): > > /foo(?i:.+lerolero)*bar/ > > Ou ainda tirar essas opções do trecho (ou ao mesmo tempo habilitar > coisas e desabilitar coisas): > > /foo(?s-i:.+lerolero)*bar/i > > E, claro, perldoc perlre para mais informações. :-) > > []s > Wendel > > 2008/8/26 : > >> *? e (? >> >> O "?" é um quantifdicador nessa expressão? Desconnheço outra função do "?" >> se não esta. >> >> _______________________________________________ > 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 > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From gabriel.vieira em gmail.com Tue Aug 26 07:29:25 2008 From: gabriel.vieira em gmail.com (Gabriel Vieira) Date: Tue, 26 Aug 2008 11:29:25 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= In-Reply-To: <64DFE8DDE0CF4735843FDC633ED8A99D@rede.local> References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <64DFE8DDE0CF4735843FDC633ED8A99D@rede.local> Message-ID: <83d8367f0808260729s324329e6q1a06260e7183c992@mail.gmail.com> $a=~/^(?:.*?\n){$linha}[^\n]*?$palavra/ $a contém (=~), no início de seu valor (^), qualquer caractere (.), zero ou mais vezes (*), limitando o seu tamanho até o próximo match (?), no caso uma quebra de linha (\n), tudo isso é um grupo que não é capturado ((?:)) e cujo tamanho, ou vezes que esse grupo é aplicado, é {$linha}. Isso tudo seguido de qualquer caractere se não nova linha ([^\n]), zero ou mais vezes (*), limitando o seu tamanho até o próximo match (?), no caso $palavra. Que tal ler o perlre? 2008/8/26 : > Esqueci de perguntar... > e o "*?" ? > > ----- Original Message ----- From: "Wendel Scardua" > > To: "Cascavel Perl Mongers" > Sent: Tuesday, August 26, 2008 10:49 AM > Subject: Re: [Cascavel-pm]coincidência de padrões e um lugar específico numa > string > > > Resposta curta: RTFM, aka "perldoc perlre" :-) > > Resposta longa: > > (? normalmente não é algo válido, então essa expressão é usada para > algumas especiais (condicionais, recursividade, look-forward, etc...) > > No caso, a expressão é (?: .... ) , que é um grupo-que-não-captura. > > Normalmente, você usa os parênteses pra "capturar" a ocorrência > (armazenando-a em $1, $2, etc... ). Mas às vezes você quer agrupar uma > parte da regexp só pra aplicar uma operação, como em: > /foo(\d+lerolero)*bar/ . Aqui, você pode não estar interessado em > colocar o match de "\d+lerolero" em $1, você só queria aplicar o "*" > naquele trecho - sem falar que essa captura é mais ineficiente. Então > você usa o (?: ... ) pra agrupar: > > /foo(?:\d+lerolero)*bar/ > > Além disso, o (?: ) permite a você passar algumas opções de regexp > apenas praquele trecho ( como o /i pra ser case-insensitive, ou /s pro > "." casar com quebra de linha, etc...): > > /foo(?i:.+lerolero)*bar/ > > Ou ainda tirar essas opções do trecho (ou ao mesmo tempo habilitar > coisas e desabilitar coisas): > > /foo(?s-i:.+lerolero)*bar/i > > E, claro, perldoc perlre para mais informações. :-) > > []s > Wendel > > 2008/8/26 : >> >> *? e (? >> >> O "?" é um quantifdicador nessa expressão? Desconnheço outra função do "?" >> se não esta. >> > _______________________________________________ > 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 > -- Gabriel Vieira From luismottacampos em yahoo.co.uk Tue Aug 26 11:19:18 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Tue, 26 Aug 2008 20:19:18 +0200 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= In-Reply-To: <83d8367f0808260729s324329e6q1a06260e7183c992@mail.gmail.com> References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <64DFE8DDE0CF4735843FDC633ED8A99D@rede.local> <83d8367f0808260729s324329e6q1a06260e7183c992@mail.gmail.com> Message-ID: <48B44926.7050101@yahoo.co.uk> Gabriel Vieira wrote: > $a=~/^(?:.*?\n){$linha}[^\n]*?$palavra/ > > $a contém (=~), no início de seu valor (^), qualquer caractere (.), > zero ou mais vezes (*), limitando o seu tamanho até o próximo match > (?), no caso uma quebra de linha (\n), tudo isso é um grupo que não é > capturado ((?:)) e cujo tamanho, ou vezes que esse grupo é aplicado, é > {$linha}. Isso tudo seguido de qualquer caractere se não nova linha > ([^\n]), zero ou mais vezes (*), limitando o seu tamanho até o próximo > match (?), no caso $palavra. > > Que tal ler o perlre? Hum. Vamos com calma. os quantificadores "*?" e "+?" são /non-greedy/. Isso quer dizer que eles vão dar match com a menor quantidade possível de caracteres que não invalide o resto da expressão. Compare com as versões /greedy/ ("*" e "+"), que batem com a *maior* quantidade possível de caracteres que não invalide a expressão. Qualquer definição fora desta é enganosa e pode dar problemas futuros. Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From fernandocorrea em gmail.com Tue Aug 26 11:23:42 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 26 Aug 2008 15:23:42 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?coincid=EAncia_de_padr=F5es_e_um_lug?= =?iso-8859-1?q?ar_espec=EDfico_numa_string?= In-Reply-To: <48B44926.7050101@yahoo.co.uk> References: <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <64DFE8DDE0CF4735843FDC633ED8A99D@rede.local> <83d8367f0808260729s324329e6q1a06260e7183c992@mail.gmail.com> <48B44926.7050101@yahoo.co.uk> Message-ID: Esqueceu de falar do "?" e do "??"... 2008/8/26 Luis Motta Campos > Gabriel Vieira wrote: > >> $a=~/^(?:.*?\n){$linha}[^\n]*?$palavra/ >> >> $a contém (=~), no início de seu valor (^), qualquer caractere (.), >> zero ou mais vezes (*), limitando o seu tamanho até o próximo match >> (?), no caso uma quebra de linha (\n), tudo isso é um grupo que não é >> capturado ((?:)) e cujo tamanho, ou vezes que esse grupo é aplicado, é >> {$linha}. Isso tudo seguido de qualquer caractere se não nova linha >> ([^\n]), zero ou mais vezes (*), limitando o seu tamanho até o próximo >> match (?), no caso $palavra. >> >> Que tal ler o perlre? >> > > Hum. Vamos com calma. os quantificadores "*?" e "+?" são /non-greedy/. Isso > quer dizer que eles vão dar match com a menor quantidade possível de > caracteres que não invalide o resto da expressão. > > Compare com as versões /greedy/ ("*" e "+"), que batem com a *maior* > quantidade possível de caracteres que não invalide a expressão. > > Qualquer definição fora desta é enganosa e pode dar problemas futuros. > > Putamplexos! > -- > Luis Motta Campos is a software engineer, > Perl Programmer, foodie and photographer. > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From luismottacampos em yahoo.co.uk Tue Aug 26 11:21:54 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Tue, 26 Aug 2008 20:21:54 +0200 Subject: [Cascavel-pm] url: passagem de valores In-Reply-To: <702AB44F7FF84B11ACAB190BC1B58403@rede.local> References: <5133E7D8A4F54487938CECE548BB7343@rede.local><83d8367f0808010508r1b2ab50cy2a17a80577023906@mail.gmail.com><92B8A86B1D124E2D8A792897482D369E@rede.local><726229b50808010624n41015057l7afef9546068da79@mail.gmail.com><509D2D765D5143CE99B1C3F3EC70C563@rede.local><9a08c9b40808011038t762a493w7d53246e8fb083d1@mail.gmail.com><7E90DA7B03924403AD97E4F55B2E1DE1@rede.local><3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com> <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <702AB44F7FF84B11ACAB190BC1B58403@rede.local> Message-ID: <48B449C2.4070602@yahoo.co.uk> fernandolouis em terra.com.br wrote: > Qual o módulo que resolve o problema de codificação para caracteres com > acentuação? > > O problema ocorre quando insiro um texto (com acentuação) no meu DB > através de um programa-perl. > > Estou tentando com o URI:Escape mas não está resolvendo. Você tem um problema maior que este, já que não sabe o /character/ /set/ da sua base de dados. Talvez ele seja diferente do /character/ /set/ que o seu browser está usando, e talvez ambos sejam diferentes do que o seu programa Perl usa. Para começar, eu tentaria descobrir que /character/ /set/ você tem no seu browser, no seu programa e na sua base de dados. Depois, a sugestão do Gabriel parece ser muito boa: use o módulo Encode (quando você souber o /character/ /set/) e as coisas devem funcionar. Putamplexos. -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From elvio.barbalho em gmail.com Tue Aug 26 12:46:53 2008 From: elvio.barbalho em gmail.com (Elvio Barbalho) Date: Tue, 26 Aug 2008 16:46:53 -0300 Subject: [Cascavel-pm] formatar aquivo Message-ID: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> Senhores boa tarde, estou com o seguinte problema: tenho um arquivo assim: 1 2 3 4 5 6 7 8 9 quero que ele saia assim: 1-2 3-4 5-6 7-9 9-9 achei aki algumas soluções entretanto nada muito pratico. -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From fernandocorrea em gmail.com Tue Aug 26 12:52:06 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 26 Aug 2008 16:52:06 -0300 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> Message-ID: 2008/8/26 Elvio Barbalho > Senhores boa tarde, estou com o seguinte problema: > > tenho um arquivo assim: > > 1 > 2 > 3 > 4 > 5 > 6 > 7 > 8 > 9 > > quero que ele saia assim: > > 1-2 > 3-4 > 5-6 > 7-9 > 7-9 ou 7-8? > > 9-9 > > achei aki algumas soluções entretanto nada muito pratico. > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From acid06 em gmail.com Tue Aug 26 12:52:38 2008 From: acid06 em gmail.com (Nilson Santos Figueiredo Junior) Date: Tue, 26 Aug 2008 16:52:38 -0300 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> Message-ID: <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> 2008/8/26 Elvio Barbalho : > Senhores boa tarde, estou com o seguinte problema: > achei aki algumas soluções entretanto nada muito pratico. Não costumo fazer isso mas vai lá: perl -ne 'chomp; print $_, $i++ % 2 ? "\n" : "-"' Claro que não serve pro caso em que a entrada é um número ímpar de números, isso é um exercício para você. ;-) -Nilson Santos F. Jr. From acid06 em gmail.com Tue Aug 26 12:55:55 2008 From: acid06 em gmail.com (Nilson Santos Figueiredo Junior) Date: Tue, 26 Aug 2008 16:55:55 -0300 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> Message-ID: <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> 2008/8/26 Nilson Santos Figueiredo Junior : > Não costumo fazer isso mas vai lá: > > perl -ne 'chomp; print $_, $i++ % 2 ? "\n" : "-"' Ou ainda: perl -ne 's|\n|-| if !($i++ % 2); print' Deixa eu voltar a trabalhar agora. ;-) -Nilson Santos F. Jr. From reis.wallace em gmail.com Tue Aug 26 13:25:31 2008 From: reis.wallace em gmail.com (Wallace Reis) Date: Tue, 26 Aug 2008 17:25:31 -0300 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> Message-ID: <912e34190808261325w3bac3540jcc510eb2e044c453@mail.gmail.com> On Tue, Aug 26, 2008 at 4:55 PM, Nilson Santos Figueiredo Junior wrote: > 2008/8/26 Nilson Santos Figueiredo Junior : >> Não costumo fazer isso mas vai lá: >> >> perl -ne 'chomp; print $_, $i++ % 2 ? "\n" : "-"' > > Ou ainda: > > perl -ne 's|\n|-| if !($i++ % 2); print' Será o iniício de um golf game? -- wallace reis/wreis From fernandocorrea em gmail.com Tue Aug 26 13:41:53 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 26 Aug 2008 17:41:53 -0300 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: <912e34190808261325w3bac3540jcc510eb2e044c453@mail.gmail.com> References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> <912e34190808261325w3bac3540jcc510eb2e044c453@mail.gmail.com> Message-ID: Minha tacada então: perl -pe's|\n|-| if ++$i % 2' 2008/8/26 Wallace Reis > On Tue, Aug 26, 2008 at 4:55 PM, Nilson Santos Figueiredo Junior > wrote: > > 2008/8/26 Nilson Santos Figueiredo Junior : > >> Não costumo fazer isso mas vai lá: > >> > >> perl -ne 'chomp; print $_, $i++ % 2 ? "\n" : "-"' > > > > Ou ainda: > > > > perl -ne 's|\n|-| if !($i++ % 2); print' > > Será o iniício de um golf game? > > -- > wallace reis/wreis > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From fernandocorrea em gmail.com Tue Aug 26 13:43:23 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 26 Aug 2008 17:43:23 -0300 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> <912e34190808261325w3bac3540jcc510eb2e044c453@mail.gmail.com> Message-ID: Desculpem, esquecí alguns espaços... perl -pe's|\n|-| if++$i%2' 2008/8/26 Fernando Oliveira > Minha tacada então: > > perl -pe's|\n|-| if ++$i % 2' > > 2008/8/26 Wallace Reis > > On Tue, Aug 26, 2008 at 4:55 PM, Nilson Santos Figueiredo Junior >> wrote: >> > 2008/8/26 Nilson Santos Figueiredo Junior : >> >> Não costumo fazer isso mas vai lá: >> >> >> >> perl -ne 'chomp; print $_, $i++ % 2 ? "\n" : "-"' >> > >> > Ou ainda: >> > >> > perl -ne 's|\n|-| if !($i++ % 2); print' >> >> Será o iniício de um golf game? >> >> -- >> wallace reis/wreis >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm >> > > > > -- > Just another Perl Hacker, > Fernando (SmokeMachine) > http://perl-e.org > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From fernandocorrea em gmail.com Tue Aug 26 13:44:18 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 26 Aug 2008 17:44:18 -0300 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> <912e34190808261325w3bac3540jcc510eb2e044c453@mail.gmail.com> Message-ID: ou: perl -pe'$i++%2&&s|\n|-|' 2008/8/26 Fernando Oliveira > Desculpem, esquecí alguns espaços... > > perl -pe's|\n|-| if++$i%2' > > 2008/8/26 Fernando Oliveira > > Minha tacada então: >> >> perl -pe's|\n|-| if ++$i % 2' >> >> 2008/8/26 Wallace Reis >> >> On Tue, Aug 26, 2008 at 4:55 PM, Nilson Santos Figueiredo Junior >>> wrote: >>> > 2008/8/26 Nilson Santos Figueiredo Junior : >>> >> Não costumo fazer isso mas vai lá: >>> >> >>> >> perl -ne 'chomp; print $_, $i++ % 2 ? "\n" : "-"' >>> > >>> > Ou ainda: >>> > >>> > perl -ne 's|\n|-| if !($i++ % 2); print' >>> >>> Será o iniício de um golf game? >>> >>> -- >>> wallace reis/wreis >>> _______________________________________________ >>> Cascavel-pm mailing list >>> Cascavel-pm em pm.org >>> http://mail.pm.org/mailman/listinfo/cascavel-pm >>> >> >> >> >> -- >> Just another Perl Hacker, >> Fernando (SmokeMachine) >> http://perl-e.org >> > > > > -- > Just another Perl Hacker, > Fernando (SmokeMachine) > http://perl-e.org > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From wendelscardua em gmail.com Tue Aug 26 14:09:02 2008 From: wendelscardua em gmail.com (Wendel Scardua) Date: Tue, 26 Aug 2008 18:09:02 -0300 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> <912e34190808261325w3bac3540jcc510eb2e044c453@mail.gmail.com> Message-ID: <726229b50808261409vf5ce2ffrfb3a64dcd588024b@mail.gmail.com> Esse aí não funcionou direito; aqui imprimiu 1 2-3 4-5 etc... A propósito, minha tacada é essa: perl -pe'--$|&&s|\n|-|' (finalmente pude usar o "magical flip-flop" $|-- que eu aprendi outro dia :-) ) []s Wendel 2008/8/26 Fernando Oliveira : > ou: > > perl -pe'$i++%2&&s|\n|-|' > > 2008/8/26 Fernando Oliveira >> >> Desculpem, esquecí alguns espaços... >> >> perl -pe's|\n|-| if++$i%2' >> >> 2008/8/26 Fernando Oliveira >>> >>> Minha tacada então: >>> >>> perl -pe's|\n|-| if ++$i % 2' >>> >>> 2008/8/26 Wallace Reis >>>> >>>> On Tue, Aug 26, 2008 at 4:55 PM, Nilson Santos Figueiredo Junior >>>> wrote: >>>> > 2008/8/26 Nilson Santos Figueiredo Junior : >>>> >> Não costumo fazer isso mas vai lá: >>>> >> >>>> >> perl -ne 'chomp; print $_, $i++ % 2 ? "\n" : "-"' >>>> > >>>> > Ou ainda: >>>> > >>>> > perl -ne 's|\n|-| if !($i++ % 2); print' >>>> >>>> Será o iniício de um golf game? >>>> >>>> -- >>>> wallace reis/wreis >>>> _______________________________________________ >>>> Cascavel-pm mailing list >>>> Cascavel-pm em pm.org >>>> http://mail.pm.org/mailman/listinfo/cascavel-pm >>> >>> >>> >>> -- >>> Just another Perl Hacker, >>> Fernando (SmokeMachine) >>> http://perl-e.org >> >> >> >> -- >> Just another Perl Hacker, >> Fernando (SmokeMachine) >> http://perl-e.org > > > > -- > Just another Perl Hacker, > Fernando (SmokeMachine) > http://perl-e.org > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- []s Wendel From nferraz em gmail.com Tue Aug 26 14:19:44 2008 From: nferraz em gmail.com (Nelson Ferraz) Date: Tue, 26 Aug 2008 23:19:44 +0200 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: <726229b50808261409vf5ce2ffrfb3a64dcd588024b@mail.gmail.com> References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> <912e34190808261325w3bac3540jcc510eb2e044c453@mail.gmail.com> <726229b50808261409vf5ce2ffrfb3a64dcd588024b@mail.gmail.com> Message-ID: <604cec170808261419m1d9255e4n2cdb6e413e91c45@mail.gmail.com> 2008/8/26 Wendel Scardua : > Esse aí não funcionou direito; aqui imprimiu > 1 > 2-3 > 4-5 > etc... > > A propósito, minha tacada é essa: > > perl -pe'--$|&&s|\n|-|' > > (finalmente pude usar o "magical flip-flop" $|-- que eu aprendi outro dia :-) ) Pra quem quiser aprender com perl golf, sugiro rodar o script com -MO=Deparse . Ou seja: perl -MO=Deparse -pe'--$|&&s|\n|-|' x Isso não vai explicar o que diabos é um "magical flip-flop", mas vai ajudar a entender o que Perl entende quando encontra este one-liner. From fernandocorrea em gmail.com Tue Aug 26 14:22:51 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Tue, 26 Aug 2008 18:22:51 -0300 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: <726229b50808261409vf5ce2ffrfb3a64dcd588024b@mail.gmail.com> References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> <912e34190808261325w3bac3540jcc510eb2e044c453@mail.gmail.com> <726229b50808261409vf5ce2ffrfb3a64dcd588024b@mail.gmail.com> Message-ID: Muito boa! 2008/8/26 Wendel Scardua > Esse aí não funcionou direito; aqui imprimiu > 1 > 2-3 > 4-5 > etc... > > A propósito, minha tacada é essa: > > perl -pe'--$|&&s|\n|-|' > > (finalmente pude usar o "magical flip-flop" $|-- que eu aprendi outro dia > :-) ) > > []s > Wendel > > 2008/8/26 Fernando Oliveira : > > ou: > > > > perl -pe'$i++%2&&s|\n|-|' > > > > 2008/8/26 Fernando Oliveira > >> > >> Desculpem, esquecí alguns espaços... > >> > >> perl -pe's|\n|-| if++$i%2' > >> > >> 2008/8/26 Fernando Oliveira > >>> > >>> Minha tacada então: > >>> > >>> perl -pe's|\n|-| if ++$i % 2' > >>> > >>> 2008/8/26 Wallace Reis > >>>> > >>>> On Tue, Aug 26, 2008 at 4:55 PM, Nilson Santos Figueiredo Junior > >>>> wrote: > >>>> > 2008/8/26 Nilson Santos Figueiredo Junior : > >>>> >> Não costumo fazer isso mas vai lá: > >>>> >> > >>>> >> perl -ne 'chomp; print $_, $i++ % 2 ? "\n" : "-"' > >>>> > > >>>> > Ou ainda: > >>>> > > >>>> > perl -ne 's|\n|-| if !($i++ % 2); print' > >>>> > >>>> Será o iniício de um golf game? > >>>> > >>>> -- > >>>> wallace reis/wreis > >>>> _______________________________________________ > >>>> Cascavel-pm mailing list > >>>> Cascavel-pm em pm.org > >>>> http://mail.pm.org/mailman/listinfo/cascavel-pm > >>> > >>> > >>> > >>> -- > >>> Just another Perl Hacker, > >>> Fernando (SmokeMachine) > >>> http://perl-e.org > >> > >> > >> > >> -- > >> Just another Perl Hacker, > >> Fernando (SmokeMachine) > >> http://perl-e.org > > > > > > > > -- > > Just another Perl Hacker, > > Fernando (SmokeMachine) > > http://perl-e.org > > > > _______________________________________________ > > Cascavel-pm mailing list > > Cascavel-pm em pm.org > > http://mail.pm.org/mailman/listinfo/cascavel-pm > > > > > > -- > []s > Wendel > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From luismottacampos em yahoo.co.uk Tue Aug 26 15:48:56 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Wed, 27 Aug 2008 00:48:56 +0200 Subject: [Cascavel-pm] formatar aquivo In-Reply-To: <604cec170808261419m1d9255e4n2cdb6e413e91c45@mail.gmail.com> References: <8fb8eacb0808261246k4d4f16aftf38ddbc733ac331d@mail.gmail.com> <9a08c9b40808261252r6664551dmf327dc3c435472de@mail.gmail.com> <9a08c9b40808261255u7da22296idc218d85e4e77201@mail.gmail.com> <912e34190808261325w3bac3540jcc510eb2e044c453@mail.gmail.com> <726229b50808261409vf5ce2ffrfb3a64dcd588024b@mail.gmail.com> <604cec170808261419m1d9255e4n2cdb6e413e91c45@mail.gmail.com> Message-ID: <48B48858.8020800@yahoo.co.uk> Nelson Ferraz wrote: > Pra quem quiser aprender com perl golf, sugiro rodar o script com > -MO=Deparse . Ou seja: > > perl -MO=Deparse -pe'--$|&&s|\n|-|' x > > Isso não vai explicar o que diabos é um "magical flip-flop", mas vai > ajudar a entender o que Perl entende quando encontra este one-liner. Oras, Nélson... todo mundo sabe que "Magical Flip-Flop" é um tipo de sandália havaiana... :D Putamplexos! -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From glasswalk3r em yahoo.com.br Wed Aug 27 18:25:57 2008 From: glasswalk3r em yahoo.com.br (Alceu R. de Freitas Jr.) Date: Wed, 27 Aug 2008 18:25:57 -0700 (PDT) Subject: [Cascavel-pm] consegui um namespace... e agora? Message-ID: <622668.98638.qm@web30801.mail.mud.yahoo.com> Olá monges, Depois de pesquisar um pouco mais, eu solicitei um novo namespace que pudesse abrigar a distribuição que criei para acessar pacotes DTS do MS SQL Server e finalmente recebi uma resposta positiva (vide email abaixo). Por total falta de experiência... como devo proceder agora? O nome dos pacotes que eu criei começam com "DTS"... eu deveria ter que mudar todos os pacotes para começar com "Win32::SqlServer::DTS" e enviar para o PAUSE? E o que faço com as versões antigas? Removo? Obrigado, Alceu --- Em ter, 26/8/08, Alceu Rodrigues de Freitas Junior escreveu: > > Date: Wed, 27 Aug 2008 03:58:32 +0200 > > Subject: New module Win32::SqlServer::DTS > > To: modules em perl.org; arfreitas em cpan.org > > From: upload em pause.perl.org > > > > > > The next version of the Module List will list the > following module: > > > > modid: Win32::SqlServer::DTS > > DSLIP: bdpOg > > description: Perl classes to access Microsoft SQL > Server > > userid: ARFREITAS (Alceu Rodrigues de Freitas > Junior) > > chapterid: 22 (Microsoft_Windows_Modules) > > enteredby: BDFOY (brian d foy) > > enteredon: Wed Aug 27 01:58:32 2008 GMT > > > > The resulting entry will be: > > > > Win32::SqlServer:: > > ::DTS bdpOg Perl classes to access > Microsoft SQL Server ARFREITAS > > > > Please allow a few days until the entry will appear in > the published > > module list. > > > > Parts of the data listed above can be edited > interactively on the > > PAUSE. See > https://pause.perl.org/pause/authenquery?ACTION=edit_mod > > > > Thanks for registering, > > -- > > The PAUSE Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses From aferreira em shopzilla.com Wed Aug 27 21:17:07 2008 From: aferreira em shopzilla.com (Adriano Ferreira) Date: Thu, 28 Aug 2008 01:17:07 -0300 Subject: [Cascavel-pm] consegui um namespace... e agora? In-Reply-To: <622668.98638.qm@web30801.mail.mud.yahoo.com> References: <622668.98638.qm@web30801.mail.mud.yahoo.com> Message-ID: <73ddeb6c0808272117l5a4a8b51o6973ea8780eaa53f@mail.gmail.com> 2008/8/27 Alceu R. de Freitas Jr. : > Olá monges, > > Depois de pesquisar um pouco mais, eu solicitei um novo namespace que pudesse abrigar a distribuição que criei para acessar pacotes DTS do MS SQL Server e finalmente recebi uma resposta positiva (vide email abaixo). > > Por total falta de experiência... como devo proceder agora? O nome dos pacotes que eu criei começam com "DTS"... eu deveria ter que mudar todos os pacotes para começar com "Win32::SqlServer::DTS" e enviar para o PAUSE? Sim. Assim você vai tornar o novo namespace visível (porque têm módulos nele). > E o que faço com as versões antigas? Removo? A maneira mais diplomática de fazer é soltar uma distribuição que depende da nova (quer dizer DTS dependendo de Win32::SqlServer::DTS), fazer todos os módulos antigos proxy para os novos e trocar a documentação por uma nota de que os pacotes DTS::* estão deprecados e os novos (juntos com sua documentação) vivem em Win32::SqlServer::DTS::* Você deixaria esta distribuição por alguns meses no CPAN e depois removaria-a de lá (dando assim um tempo de aviso para os que adotaram o DTS em seu código). Se a base de usuários que o módulo DTS já possa ter não o preocupa, libere o código com o novo namespace e simplesmente remova a velha distribuição. Ela sempre estará disponível no Backpan. Saudações, Adriano > Obrigado, > Alceu > > --- Em ter, 26/8/08, Alceu Rodrigues de Freitas Junior escreveu: > >> > Date: Wed, 27 Aug 2008 03:58:32 +0200 >> > Subject: New module Win32::SqlServer::DTS >> > To: modules em perl.org; arfreitas em cpan.org >> > From: upload em pause.perl.org >> > >> > >> > The next version of the Module List will list the >> following module: >> > >> > modid: Win32::SqlServer::DTS >> > DSLIP: bdpOg >> > description: Perl classes to access Microsoft SQL >> Server >> > userid: ARFREITAS (Alceu Rodrigues de Freitas >> Junior) >> > chapterid: 22 (Microsoft_Windows_Modules) >> > enteredby: BDFOY (brian d foy) >> > enteredon: Wed Aug 27 01:58:32 2008 GMT >> > >> > The resulting entry will be: >> > >> > Win32::SqlServer:: >> > ::DTS bdpOg Perl classes to access >> Microsoft SQL Server ARFREITAS >> > >> > Please allow a few days until the entry will appear in >> the published >> > module list. >> > >> > Parts of the data listed above can be edited >> interactively on the >> > PAUSE. See >> https://pause.perl.org/pause/authenquery?ACTION=edit_mod >> > >> > Thanks for registering, >> > -- >> > The PAUSE > > > > Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. > http://br.new.mail.yahoo.com/addresses > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From luismottacampos em yahoo.co.uk Thu Aug 28 04:32:17 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Thu, 28 Aug 2008 13:32:17 +0200 Subject: [Cascavel-pm] consegui um namespace... e agora? In-Reply-To: <622668.98638.qm@web30801.mail.mud.yahoo.com> References: <622668.98638.qm@web30801.mail.mud.yahoo.com> Message-ID: <48B68CC1.6020408@yahoo.co.uk> Alceu R. de Freitas Jr. wrote: > Olá monges, > > Depois de pesquisar um pouco mais, eu solicitei um novo namespace que > pudesse abrigar a distribuição que criei para acessar pacotes DTS do > MS SQL Server e finalmente recebi uma resposta positiva (vide email > abaixo). Meus parabéns. :) > Por total falta de experiência... como devo proceder agora? Não me parece que você não saiba o que fazer. Perguntou aos Perl Mongers locais, e aqui tem a sua resposta. > O nome dos pacotes que eu criei começam com "DTS"... eu deveria ter > que mudar todos os pacotes para começar com "Win32::SqlServer::DTS" e > enviar para o PAUSE? Se Win32::SqlServer::DTS é o namespace que você ganhou, sim. Mude o nome dos teus pacotes de DTS para Win32::SqlServer::DTS, faz commit no seu sistema de versão, roda o teu suite de testes, certifique-se de que não esqueceu de mudar alguma menção perdida na documentação, e manda para o CPAN, via PAUSE. > E o que faço com as versões antigas? Removo? Eu manteria as versões antigas no lugar, por agora. Apenas coloque uma nota extra na documentação para o pessoal saber onde encontrar versões mais novas. Você pode pensar em removê-las mais tarde, quando todo mundo já estiver usando as versões novas. Espero que isso ajude. Desnecessário dizer que você tem contatos meus e pode me procurar quando quiser para falar sobre isso. ;) Putamplexos. -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From fernandolouis em terra.com.br Thu Aug 28 13:14:30 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Thu, 28 Aug 2008 17:14:30 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= References: <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> Message-ID: <526D8A6AD8864FF6B7FA85573528BC62@rede.local> Tenho uma página na internet que via AJAX insiro informações de um formulário no meu banco de dados. No formulário da página contém dois input-text e um textarea Inserindo 1951 caracteres no textarea e 1 caracter em cada input, os dados são inseridos tranquilamente no bd. Mas basta eu inserir 1 caracter a mais (em um dos inputs ou no textarea) que meu script já não funciona. Nada é inserido no banco de dados. Alguém pode me explicar o por quê? Tenho uma página html que via AJAX faz requisições com o servidor por um script.pl. Se acham que pode ser problema no código fonte, por favor, solicitem que insiro aqui. From acid06 em gmail.com Thu Aug 28 13:21:37 2008 From: acid06 em gmail.com (Nilson Santos Figueiredo Junior) Date: Thu, 28 Aug 2008 17:21:37 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: <526D8A6AD8864FF6B7FA85573528BC62@rede.local> References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com> <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> Message-ID: <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> 2008/8/28 : > Tenho uma página html que via AJAX faz requisições com o servidor por um > script.pl. > Se acham que pode ser problema no código fonte, por favor, solicitem que > insiro aqui. Mensagens de erro? Ou, pelo menos, aonde acontece o erro (no script, no banco de dados)? E o código fonte sempre ajuda. Senão tiver isso disponível, talvez me enviando uma bola de cristal eu possa descobrir algo de útil, porque meus poderes psíquicos normais não foram suficientes pra advinhar seu problema. -Nilson Santos F. Jr. From fernandolouis em terra.com.br Thu Aug 28 13:28:58 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Thu, 28 Aug 2008 17:28:58 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local><726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com><526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> Message-ID: Amigo, o erro diz que está em "request.send(null);" e o código fonte: # BEGIN - FUNÇÃO AJAX # END - FUNÇÃO AJAX # BEGIN - HTML
ARTIGOS

- Inserir

# END - HTML # BEGIN - AJAXCONTROLE.PL elsif ($input{inserir_a}) { $query = "INSERT INTO `artigos_noticias` VALUES('', '$datacad', '$input{titulo_a}', '$input{texto_a}', 'a', '$input{autor_a}')"; $q = $conn->prepare ($query); $q->execute(); $q->finish(); $conn->disconnect(); print "Artigo cadastrado com sucesso!"; exit; } # END - AJAXCONTROLE.PL ----- Original Message ----- From: "Nilson Santos Figueiredo Junior" To: "Cascavel Perl Mongers" Sent: Thursday, August 28, 2008 5:21 PM Subject: Re: [Cascavel-pm]requisiçãos AJAX (via script.pl) com muitos caracteres 2008/8/28 : > Tenho uma página html que via AJAX faz requisições com o servidor por um > script.pl. > Se acham que pode ser problema no código fonte, por favor, solicitem que > insiro aqui. Mensagens de erro? Ou, pelo menos, aonde acontece o erro (no script, no banco de dados)? E o código fonte sempre ajuda. Senão tiver isso disponível, talvez me enviando uma bola de cristal eu possa descobrir algo de útil, porque meus poderes psíquicos normais não foram suficientes pra advinhar seu problema. -Nilson Santos F. Jr. _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From agnaldo em starweb-software.com.br Thu Aug 28 13:46:24 2008 From: agnaldo em starweb-software.com.br (Agnaldo Macedo) Date: Thu, 28 Aug 2008 17:46:24 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= References: <3de55ead0808040520o230ec186n150acf0e18d59b31@mail.gmail.com><8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local><726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> Message-ID: <9C9E2CC8A74148AAAB7CA551AAE6CD9E@swmobile> Você precisa usar POST ao invés de GET na tua requisição. ----- Original Message ----- From: To: "Cascavel Perl Mongers" cascavel-pm em pm.org Sent: Thursday, August 28, 2008 5:14 PM Subject: [Cascavel-pm] requisiçãos AJAX (via script.pl) com muitos caracteres Tenho uma página na internet que via AJAX insiro informações de um formulário no meu banco de dados. No formulário da página contém dois input-text e um textarea Inserindo 1951 caracteres no textarea e 1 caracter em cada input, os dados são inseridos tranquilamente no bd. Mas basta eu inserir 1 caracter a mais (em um dos inputs ou no textarea) que meu script já não funciona. Nada é inserido no banco de dados. Alguém pode me explicar o por quê? Tenho uma página html que via AJAX faz requisições com o servidor por um script.pl. Se acham que pode ser problema no código fonte, por favor, solicitem que insiro aqui. _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From agnaldo em starweb-software.com.br Thu Aug 28 14:00:56 2008 From: agnaldo em starweb-software.com.br (Agnaldo Macedo) Date: Thu, 28 Aug 2008 18:00:56 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local><726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com><526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> Message-ID: <36BE4A0268D94069B16E37E99B46C7C3@swmobile> Completando.... Altere: request.open("GET", url, true); request.onreadystatechange = updatePage; request.send(null); Para algo como: request.open("POST", url, true); request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); request.setRequestHeader("Content-length", variavelQueTemOsTeusDados.length ); request.onreadystatechange = updatePage; request.send(variavelQueTemOsTeusDados); ----- Original Message ----- From: "Nilson Santos Figueiredo Junior" To: "Cascavel Perl Mongers" Sent: Thursday, August 28, 2008 5:21 PM Subject: Re: [Cascavel-pm]requisiçãos AJAX (via script.pl) com muitos caracteres 2008/8/28 : > Tenho uma página html que via AJAX faz requisições com o servidor por um > script.pl. > Se acham que pode ser problema no código fonte, por favor, solicitem que > insiro aqui. Mensagens de erro? Ou, pelo menos, aonde acontece o erro (no script, no banco de dados)? E o código fonte sempre ajuda. Senão tiver isso disponível, talvez me enviando uma bola de cristal eu possa descobrir algo de útil, porque meus poderes psíquicos normais não foram suficientes pra advinhar seu problema. -Nilson Santos F. Jr. _______________________________________________ Cascavel-pm mailing list Cascavel-pm em pm.org http://mail.pm.org/mailman/listinfo/cascavel-pm From agnaldo em starweb-software.com.br Thu Aug 28 14:14:11 2008 From: agnaldo em starweb-software.com.br (Agnaldo Macedo) Date: Thu, 28 Aug 2008 18:14:11 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local><726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com><526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> Message-ID: <553186116E0C4D698674B9932699A43E@swmobile> Acho que não precisa de bola de cristal nem poderes psíquicos. Ele detalhou bem o problema. 1) Disse que estava usando Ajax 2) Disse que possui três campos na interface de tela 3) Disse que colocando apenas um caracter a menos ou mais nos campos da interface de tela o script rodava ou não Por aí já dá pra deduzir que o problema é na quantidade de dados que estava sendo enviada pelo Ajax. (Basta um caracter a mais para não rodar). Não precisa ser muito esperto para deduzir que ele usou um método GET para envio dos dados, e este é restrito à quantidade de caracteres que se pode enviar por uma query string (linha da URL). ----- Original Message ----- From: "Nilson Santos Figueiredo Junior" To: "Cascavel Perl Mongers" Sent: Thursday, August 28, 2008 5:21 PM Subject: Re: [Cascavel-pm]requisiçãos AJAX (via script.pl) com muitos caracteres 2008/8/28 : > Tenho uma página html que via AJAX faz requisições com o servidor por um > script.pl. > Se acham que pode ser problema no código fonte, por favor, solicitem que > insiro aqui. Mensagens de erro? Ou, pelo menos, aonde acontece o erro (no script, no banco de dados)? E o código fonte sempre ajuda. Senão tiver isso disponível, talvez me enviando uma bola de cristal eu possa descobrir algo de útil, porque meus poderes psíquicos normais não foram suficientes pra advinhar seu problema. -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 Thu Aug 28 14:14:52 2008 From: acid06 em gmail.com (Nilson Santos Figueiredo Junior) Date: Thu, 28 Aug 2008 18:14:52 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: References: <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> Message-ID: <9a08c9b40808281414u60dbe875ye8638cc205593950@mail.gmail.com> 2008/8/28 : > Amigo, o erro diz que está em "request.send(null);" Eu estava perguntando sobre o erro em seu script Perl. Se ele nem chega a ser chamado, provavelmente é um erro de JavaScript. Aliás, olhando para seu trecho código não daria pra descobrir nada relacionado com o problema (exceto um tanto de más práticas de programação). Dicas: - use variáveis léxicas, decladas com my; - use o módulo CGI.pm (chuto que você não esteja usando por causa daquela hash %input) - use warnings - use strict -Nilson Santos F. Jr. From nferraz em gmail.com Thu Aug 28 14:25:24 2008 From: nferraz em gmail.com (Nelson Ferraz) Date: Thu, 28 Aug 2008 23:25:24 +0200 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: References: <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> Message-ID: <604cec170808281425n231144f0p115d19c64b739ada@mail.gmail.com> 2008/8/28 : > function createRequest() { > try { > request = new XMLHttpRequest(); > } catch (trymicrosoft) { > try { > request = new ActiveXObject("Msxml2.XMLHTTP"); > } catch (othermicrosoft) { > try { > request = new ActiveXObject("Microsoft.XMLHTTP"); > } catch (failed) { > request = null; > } > } > } > > // ... > > var url = url + "&nocache=" + new Date().getTime(); > request.open("GET", url, true); > request.onreadystatechange = updatePage; > request.send(null); Que tal usar uma biblioteca pronta, como o prototype (www.prototypejs.org), para substituir todo o código acima? new Ajax.Request(url, { method:'post', onSuccess: function(t) { alert( 'received: ' + t.responseText ) }, onFailure: function(){ alert('Something went wrong...') } }); From cromo.jml em gmail.com Thu Aug 28 14:25:52 2008 From: cromo.jml em gmail.com (=?ISO-8859-1?Q?M=E1rcio_Vitor?=) Date: Thu, 28 Aug 2008 18:25:52 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: <9a08c9b40808281414u60dbe875ye8638cc205593950@mail.gmail.com> References: <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> <9a08c9b40808281414u60dbe875ye8638cc205593950@mail.gmail.com> Message-ID: <3530b8ce0808281425r6ecde5a7lfc610ccba5c7489a@mail.gmail.com> Só vou acrescentar com mais uma dica que já foi citada aqui na lista várias vezes e pode aliviar bastante o seu banco de dados, usar as bind variables para que o banco possa cachear as querys, caso ele disponha disto: $query = "INSERT INTO `artigos_noticias` VALUES('',?,?,?, 'a',?)"; $q = $conn->prepare ($query); $q->execute($datacad,$input{titulo_a},$input{texto_a},$input{autor_a}); Márcio Vitor 2008/8/28 Nilson Santos Figueiredo Junior : > 2008/8/28 : >> Amigo, o erro diz que está em "request.send(null);" > > Eu estava perguntando sobre o erro em seu script Perl. > Se ele nem chega a ser chamado, provavelmente é um erro de JavaScript. > > Aliás, olhando para seu trecho código não daria pra descobrir nada > relacionado com o problema (exceto um tanto de más práticas de > programação). > > Dicas: > - use variáveis léxicas, decladas com my; > - use o módulo CGI.pm (chuto que você não esteja usando por causa > daquela hash %input) > - use warnings > - use strict > > -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 Thu Aug 28 14:25:51 2008 From: acid06 em gmail.com (Nilson Santos Figueiredo Junior) Date: Thu, 28 Aug 2008 18:25:51 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: <553186116E0C4D698674B9932699A43E@swmobile> References: <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> <553186116E0C4D698674B9932699A43E@swmobile> Message-ID: <9a08c9b40808281425y381bf80x9bb695ede0b0458@mail.gmail.com> 2008/8/28 Agnaldo Macedo : > Ele detalhou bem o problema. > > 1) Disse que estava usando Ajax > 2) Disse que possui três campos na interface de tela > 3) Disse que colocando apenas um caracter a menos ou mais nos campos da > interface de tela o script rodava ou não Por aí eu não consigo deduzir nenhum problema relacionado com o código em Perl em questão. Se você conseguir, parabéns, você tem problemas psíquicos. Ele não disse que o script rodava ou não, ele disse que "os dados não eram gravados no banco". Isso poderia acontecer por diversos motivos (e o primeiro que me vem em mente seria que o tamanho do campo no banco de dados não estivesse sendo suficiente para aquela quantidade de dados). Mas também poderia ser graças a alguma biblioteca não-padrão para leitura de parâmetros HTTP ao invés do CGI.pm. Enfim, poderiam ser diversas outras coisas relacionadas com Perl e é impossível deduzir sem nenhuma informação útil. -Nilson Santos F. Jr. From nferraz em gmail.com Thu Aug 28 14:30:46 2008 From: nferraz em gmail.com (Nelson Ferraz) Date: Thu, 28 Aug 2008 23:30:46 +0200 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: References: <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> Message-ID: <604cec170808281430u11b31aaflca041b970182e613@mail.gmail.com> > elsif ($input{inserir_a}) { > $query = "INSERT INTO `artigos_noticias` VALUES('', '$datacad', > '$input{titulo_a}', '$input{texto_a}', 'a', '$input{autor_a}')"; > $q = $conn->prepare ($query); > $q->execute(); > $q->finish(); > $conn->disconnect(); > print "Artigo cadastrado com sucesso!"; > exit; > } SQL Injection detected. Experimente colocar o seguinte valor no campo "autor_a": '); DROP TABLE artigos_noticias; -- Ou melhor... tente adivinhar o que pode acontecer... []s Nelson -- 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 From cromo.jml em gmail.com Thu Aug 28 14:31:56 2008 From: cromo.jml em gmail.com (=?ISO-8859-1?Q?M=E1rcio_Vitor?=) Date: Thu, 28 Aug 2008 18:31:56 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: <604cec170808281425n231144f0p115d19c64b739ada@mail.gmail.com> References: <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> <604cec170808281425n231144f0p115d19c64b739ada@mail.gmail.com> Message-ID: <3530b8ce0808281431w6de95d9dmc8a475304e41cd75@mail.gmail.com> Boa Nelson, confesso que senti calafrios ao ver estes códigos javascript que eu usava no início do ajax e já me geraram bastante dor de cabeça. Fernando dá uma pesquisada porque já existem vários frameworks Js que te poupam muito tempo para criação de aplicações Ajax, recomendo o Jquery. Márcio Vitor On Thu, Aug 28, 2008 at 6:25 PM, Nelson Ferraz wrote: > 2008/8/28 : >> function createRequest() { >> try { >> request = new XMLHttpRequest(); >> } catch (trymicrosoft) { >> try { >> request = new ActiveXObject("Msxml2.XMLHTTP"); >> } catch (othermicrosoft) { >> try { >> request = new ActiveXObject("Microsoft.XMLHTTP"); >> } catch (failed) { >> request = null; >> } >> } >> } >> >> // ... >> >> var url = url + "&nocache=" + new Date().getTime(); >> request.open("GET", url, true); >> request.onreadystatechange = updatePage; >> request.send(null); > > Que tal usar uma biblioteca pronta, como o prototype > (www.prototypejs.org), para substituir todo o código acima? > > new Ajax.Request(url, { > method:'post', > onSuccess: function(t) { alert( 'received: ' + t.responseText ) }, > onFailure: function(){ alert('Something went wrong...') } > }); > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From edencardim em gmail.com Thu Aug 28 15:00:13 2008 From: edencardim em gmail.com (Eden Cardim) Date: Thu, 28 Aug 2008 19:00:13 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: <553186116E0C4D698674B9932699A43E@swmobile> References: <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> <553186116E0C4D698674B9932699A43E@swmobile> Message-ID: <3de55ead0808281500o5eb7a128v349a1eb492fa92f1@mail.gmail.com> 2008/8/28 Agnaldo Macedo : > > Acho que não precisa de bola de cristal nem poderes psíquicos. > Ele detalhou bem o problema. > > 1) Disse que estava usando Ajax > 2) Disse que possui três campos na interface de tela > 3) Disse que colocando apenas um caracter a menos ou mais nos campos da > interface de tela o script rodava ou não > > Por aí já dá pra deduzir que o problema é na quantidade de dados que estava > sendo enviada pelo Ajax. (Basta um caracter a mais para não rodar). > Não precisa ser muito esperto para deduzir que ele usou um método GET para > envio dos dados, e este é restrito à quantidade de caracteres que se pode > enviar por uma query string (linha da URL). É ruim hein... Ficou fácil agora porque ele mostrou o fonte com o "GET" bem grandão escrito. -- edenc.vox.com From agnaldo em starweb-software.com.br Thu Aug 28 15:06:25 2008 From: agnaldo em starweb-software.com.br (Agnaldo Macedo) Date: Thu, 28 Aug 2008 19:06:25 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= References: <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> <553186116E0C4D698674B9932699A43E@swmobile> <3de55ead0808281500o5eb7a128v349a1eb492fa92f1@mail.gmail.com> Message-ID: <211CF89825D948FB886FFD9B1D9E3E94@swmobile> Tolinho .... Como se fosse preciso olhar o código pra deduzir isso. ----- Original Message ----- From: "Eden Cardim" To: "Agnaldo Macedo" ; "Cascavel Perl Mongers" Sent: Thursday, August 28, 2008 7:00 PM Subject: Re: [Cascavel-pm] requisiçãos AJAX (via script.pl) com muitos caracteres 2008/8/28 Agnaldo Macedo : > > Acho que não precisa de bola de cristal nem poderes psíquicos. > Ele detalhou bem o problema. > > 1) Disse que estava usando Ajax > 2) Disse que possui três campos na interface de tela > 3) Disse que colocando apenas um caracter a menos ou mais nos campos da > interface de tela o script rodava ou não > > Por aí já dá pra deduzir que o problema é na quantidade de dados que > estava > sendo enviada pelo Ajax. (Basta um caracter a mais para não rodar). > Não precisa ser muito esperto para deduzir que ele usou um método GET para > envio dos dados, e este é restrito à quantidade de caracteres que se pode > enviar por uma query string (linha da URL). É ruim hein... Ficou fácil agora porque ele mostrou o fonte com o "GET" bem grandão escrito. -- edenc.vox.com From luismottacampos em yahoo.co.uk Fri Aug 29 01:53:50 2008 From: luismottacampos em yahoo.co.uk (Luis Motta Campos) Date: Fri, 29 Aug 2008 10:53:50 +0200 Subject: [Cascavel-pm] =?utf-8?q?requisi=C3=A7=C3=A3os_AJAX_=28via_script?= =?utf-8?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: <211CF89825D948FB886FFD9B1D9E3E94@swmobile> References: <48B302E2.8000106@yahoo.co.uk> <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> <553186116E0C4D698674B9932699A43E@swmobile> <3de55ead0808281500o5eb7a128v349a1eb492fa92f1@mail.gmail.com> <211CF89825D948FB886FFD9B1D9E3E94@swmobile> Message-ID: <48B7B91E.9000708@yahoo.co.uk> Agnaldo Macedo wrote: > Tolinho .... > Como se fosse preciso olhar o código pra deduzir isso. Credo, ironia e Javascript no mesmo email? Vou recomendar aos pais e responsáveis que troquem o canal para a Playboy TV... ;-) vai ser mais salutar para as crianças. Putamplexos -- Luis Motta Campos is a software engineer, Perl Programmer, foodie and photographer. From fernandolouis em terra.com.br Fri Aug 29 04:35:39 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Fri, 29 Aug 2008 08:35:39 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= References: <48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local><726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com><526D8A6AD8864FF6B7FA85573528BC62@rede.local><9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com><553186116E0C4D698674B9932699A43E@swmobile> <3de55ead0808281500o5eb7a128v349a1eb492fa92f1@mail.gmail.com> Message-ID: <6AC79FEC5F8343AE89D19A08E69EB13A@rede.local> Amigos, obrigado pelas respostas. Aprendi que nesse meu caso: - Conforme Agnaldo comentou: GET foi o fator cruncial do problema; - A biblioteca "prototype.js" pode ajudar muito em deixar o código enxuto e legível, segundo Nelson. Estudarei ela. Assim como a "Jquery" que o Márcio indicou. - Quanto à utilização de "bind variables" que o Márcio disse, é outro assunto que me interessa pois pelo que entendi, otimiza a aplicação. Achei rapidamente um artigo sobre. http://mportes.blogspot.com/2005/05/bind-variable-introduo.html - E... Nélson... seu SQL Injection não funcionou. Fui lá no BD, fiz uma cópia da tabela. Aí testei seu "'); DROP TABLE artigos_noticias; --" no "input{autor_a}" e nada aconteceu com a tabela `artigos_noticias`. Nilson: - Eu tentei detalhar o máximo do meu problema... não falei de problemas no meu programa.pl nem na quantidade de carcteres que cabem no BD pois estes problemas realmente não existiam. - uso outro framework para trabalhar com dados que vêm por por url, o cgi-lib. Obrigado pela ajuda... realmente aprendi muito com esse thead. []s, Fernando From fernandolouis em terra.com.br Fri Aug 29 08:03:42 2008 From: fernandolouis em terra.com.br (fernandolouis em terra.com.br) Date: Fri, 29 Aug 2008 12:03:42 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local><726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com><526D8A6AD8864FF6B7FA85573528BC62@rede.local><9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> <36BE4A0268D94069B16E37E99B46C7C3@swmobile> Message-ID: <2D7BBD04FC044385A79617938DB62419@rede.local> Agnaldo, entendi que trocando o método de envio de GET para POST vou ter que avisar o tipo de conteúdo (content-type). Com GET não precisava pois o servidor já sabe que o método GET vem por URL, ou seja, somente texto. Então, com POST, devo enviar todas os parâmetros das minhas variáveis... e não deixá-lo mais como send(null), e sim como send (tudo que o servidor deverá ler no meu script.pl) Mas não entendi o por que da utilização de: request.setRequestHeader("Content-length", variavelQueTemOsTeusDados.length ); Por que devo usá-lo? []s, Fernando ----- Original Message ----- From: "Agnaldo Macedo" To: "Cascavel Perl Mongers" Sent: Thursday, August 28, 2008 6:00 PM Subject: Re: [Cascavel-pm]requisiçãos AJAX (via script.pl) com muitos caracteres Completando.... Altere: request.open("GET", url, true); request.onreadystatechange = updatePage; request.send(null); Para algo como: request.open("POST", url, true); request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); request.setRequestHeader("Content-length", variavelQueTemOsTeusDados.length ); request.onreadystatechange = updatePage; request.send(variavelQueTemOsTeusDados); From fernandocorrea em gmail.com Fri Aug 29 08:07:52 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Fri, 29 Aug 2008 12:07:52 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= In-Reply-To: <2D7BBD04FC044385A79617938DB62419@rede.local> References: <4990078DA9CE4F79B2878301954A1163@rede.local> <726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com> <526D8A6AD8864FF6B7FA85573528BC62@rede.local> <9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> <36BE4A0268D94069B16E37E99B46C7C3@swmobile> <2D7BBD04FC044385A79617938DB62419@rede.local> Message-ID: vc pode usar tb o CGI::Ajax 2008/8/29 > Agnaldo, entendi que trocando o método de envio de GET para POST vou ter > que avisar o tipo de conteúdo (content-type). Com GET não precisava pois o > servidor já sabe que o método GET vem por URL, ou seja, somente texto. > > Então, com POST, devo enviar todas os parâmetros das minhas variáveis... e > não deixá-lo mais como send(null), e sim como send (tudo que o servidor > deverá ler no meu script.pl) > > Mas não entendi o por que da utilização de: > > request.setRequestHeader("Content-length", > variavelQueTemOsTeusDados.length ); > > Por que devo usá-lo? > > []s, > Fernando > > ----- Original Message ----- From: "Agnaldo Macedo" < > agnaldo em starweb-software.com.br> > To: "Cascavel Perl Mongers" > Sent: Thursday, August 28, 2008 6:00 PM > Subject: Re: [Cascavel-pm]requisiçãos AJAX (via script.pl) com muitos > caracteres > > > > > Completando.... > > Altere: > request.open("GET", url, true); > request.onreadystatechange = updatePage; > request.send(null); > Para algo como: > request.open("POST", url, true); > request.setRequestHeader("Content-Type", > "application/x-www-form-urlencoded"); > request.setRequestHeader("Content-length", > variavelQueTemOsTeusDados.length ); > request.onreadystatechange = updatePage; > request.send(variavelQueTemOsTeusDados); > > > > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From agnaldo em starweb-software.com.br Fri Aug 29 08:30:47 2008 From: agnaldo em starweb-software.com.br (Agnaldo Macedo) Date: Fri, 29 Aug 2008 12:30:47 -0300 Subject: [Cascavel-pm] =?iso-8859-1?q?requisi=E7=E3os_AJAX_=28via_script?= =?iso-8859-1?q?=2Epl=29_com_muitos_caracteres?= References: <8e3843570808040611j6779b974ia30d5de112f71c78@mail.gmail.com><48B302E2.8000106@yahoo.co.uk><4990078DA9CE4F79B2878301954A1163@rede.local><726229b50808260649l733957t749eb148234b0a4f@mail.gmail.com><526D8A6AD8864FF6B7FA85573528BC62@rede.local><9a08c9b40808281321q2e81d03atbaaabf208a43a339@mail.gmail.com> <36BE4A0268D94069B16E37E99B46C7C3@swmobile> <2D7BBD04FC044385A79617938DB62419@rede.local> Message-ID: <28198B2C92994D23A85DA22A80A753C1@swmobile> Via GET é gerado um cabelho HTTP mais ou menos assim: ---------------------------------------------------------------------- GET /tuaPagina.pl?campo1=valor1&campo2=valor2 HTTP/1.1 Host: www.servidor.com ---------------------------------------------------------------------- Via POST, o cabeçalho é diferente. Seria algo como ---------------------------------------------------------------------- POST /tuaPagina.pl HTTP/1.1 Host: www.servidor.com Content-Length: 27 Content-Type: application/x-www-form-urlencoded campo1=valor1&campo2=valor2 ---------------------------------------------------------------------- As linhas tracejadas fui eu que pus apenas para delimitar o conteúdo. Note que o corpo de uma requisição POST é defirente. Ele é composto pelos dados a serem enviados. A opção Content-Length: 27 indica que devem ser lidos 27 bytes como sendo o conteúdo do corpo, no caso, campo1=valor1&campo2=valor2 Aqui na WikiPédia tem um tópico sobre isso http://pt.wikipedia.org/wiki/HTTP ----- Original Message ----- From: To: "Agnaldo Macedo" ; "Cascavel Perl Mongers" Sent: Friday, August 29, 2008 12:03 PM Subject: Re: [Cascavel-pm]requisiçãos AJAX (via script.pl) com muitos caracteres > Agnaldo, entendi que trocando o método de envio de GET para POST vou ter > que avisar o tipo de conteúdo (content-type). Com GET não precisava pois o > servidor já sabe que o método GET vem por URL, ou seja, somente texto. > > Então, com POST, devo enviar todas os parâmetros das minhas variáveis... e > não deixá-lo mais como send(null), e sim como send (tudo que o servidor > deverá ler no meu script.pl) > > Mas não entendi o por que da utilização de: > > request.setRequestHeader("Content-length", > variavelQueTemOsTeusDados.length ); > > Por que devo usá-lo? > > []s, > Fernando > > ----- Original Message ----- > From: "Agnaldo Macedo" > To: "Cascavel Perl Mongers" > Sent: Thursday, August 28, 2008 6:00 PM > Subject: Re: [Cascavel-pm]requisiçãos AJAX (via script.pl) com muitos > caracteres > > > > > Completando.... > > Altere: > request.open("GET", url, true); > request.onreadystatechange = updatePage; > request.send(null); > Para algo como: > request.open("POST", url, true); > request.setRequestHeader("Content-Type", > "application/x-www-form-urlencoded"); > request.setRequestHeader("Content-length", > variavelQueTemOsTeusDados.length ); > request.onreadystatechange = updatePage; > request.send(variavelQueTemOsTeusDados); > > > > From sandroalmeidafilho em gmail.com Fri Aug 29 13:41:35 2008 From: sandroalmeidafilho em gmail.com (Sandro de Almeida Filho) Date: Fri, 29 Aug 2008 17:41:35 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto Message-ID: Pessoal, como faço para rodar um script perl em background sem deixar o navegador web aberto? Nos testes que fiz, ao fechar o navegador a aplicação terminava. []'s Sandro From fernandocorrea em gmail.com Fri Aug 29 13:44:04 2008 From: fernandocorrea em gmail.com (Fernando Oliveira) Date: Fri, 29 Aug 2008 17:44:04 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto In-Reply-To: References: Message-ID: Não devo ter entendido a pergunta... Mas já tentou rodar fora do apache? Tipo: ./seu_prog.pl ou perl seu_prog.pl ... Mas realmente eu não devo ter entendido a sua pergunta... 2008/8/29 Sandro de Almeida Filho > Pessoal, como faço para rodar um script perl em background sem deixar > o navegador web aberto? Nos testes que fiz, ao fechar o navegador a > aplicação terminava. > > []'s > Sandro > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > -- Just another Perl Hacker, Fernando (SmokeMachine) http://perl-e.org -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: From sandroalmeidafilho em gmail.com Fri Aug 29 13:53:35 2008 From: sandroalmeidafilho em gmail.com (Sandro de Almeida Filho) Date: Fri, 29 Aug 2008 17:53:35 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto In-Reply-To: References: Message-ID: Por exemplo: acessarei www.meusite.com.br/aplicacao.pl Neste aplicacao.pl há um loop muito grande, processando dados. Oo fechar o navegador, o loop está encerrando antes da hora. É isso que desejo resolver. Alguma dica? []'s Sandro 2008/8/29 Fernando Oliveira : > Não devo ter entendido a pergunta... > Mas já tentou rodar fora do apache? > Tipo: > ./seu_prog.pl > ou > perl seu_prog.pl > > ... > > Mas realmente eu não devo ter entendido a sua pergunta... > > 2008/8/29 Sandro de Almeida Filho >> >> Pessoal, como faço para rodar um script perl em background sem deixar >> o navegador web aberto? Nos testes que fiz, ao fechar o navegador a >> aplicação terminava. >> >> []'s >> Sandro >> _______________________________________________ >> Cascavel-pm mailing list >> Cascavel-pm em pm.org >> http://mail.pm.org/mailman/listinfo/cascavel-pm > > > > -- > Just another Perl Hacker, > Fernando (SmokeMachine) > http://perl-e.org > > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > From lgbassani em terra.com.br Fri Aug 29 13:59:11 2008 From: lgbassani em terra.com.br (Luciano Giordani Bassani) Date: Fri, 29 Aug 2008 17:59:11 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto In-Reply-To: References: Message-ID: <48B8631F.9010401@terra.com.br> Eu uso Fork para fazer isso. Exemplo: $pid = fork(); print "Fork failed: $!" unless defined $pid; if($pid) { # Aqui vai o código executado pelo "pai" e que mostra na tela do navegador que a página foi executada com sucesso } else { close(STDOUT); # Aqui vai o código que vai ficar rodando em background } SDS, Luciano Giordani Bassani lgbassani em terra.com.br Sandro de Almeida Filho escreveu: > Pessoal, como faço para rodar um script perl em background sem deixar > o navegador web aberto? Nos testes que fiz, ao fechar o navegador a > aplicação terminava. > > []'s > Sandro > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > > > From otaviof em gmail.com Fri Aug 29 14:04:49 2008 From: otaviof em gmail.com (=?ISO-8859-1?Q?Ot=E1vio_Fernandes?=) Date: Fri, 29 Aug 2008 18:04:49 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto In-Reply-To: <48B8631F.9010401@terra.com.br> References: <48B8631F.9010401@terra.com.br> Message-ID: <8e3843570808291404r7753d7b2y90354e06e2e4f32b@mail.gmail.com> 2008/8/29 Luciano Giordani Bassani : > Eu uso Fork para fazer isso. > > > Exemplo: > > $pid = fork(); > print "Fork failed: $!" unless defined $pid; > if($pid) > { > # Aqui vai o código executado pelo "pai" e que mostra na tela do navegador > que a página foi executada com sucesso > } > else > { > close(STDOUT); > # Aqui vai o código que vai ficar rodando em background > } > > > SDS, > > Luciano Giordani Bassani > lgbassani em terra.com.br > > > > > Sandro de Almeida Filho escreveu: >> >> Pessoal, como faço para rodar um script perl em background sem deixar >> o navegador web aberto? Nos testes que fiz, ao fechar o navegador a >> aplicação terminava. >> >> []'s >> Sandro >> _______________________________________________ >> 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 > Acredito que o fork vai morrer juntamente com o pai, a aplicação web. um abraço, -- Otávio Fernandes From otaviof em gmail.com Fri Aug 29 14:07:18 2008 From: otaviof em gmail.com (=?ISO-8859-1?Q?Ot=E1vio_Fernandes?=) Date: Fri, 29 Aug 2008 18:07:18 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto In-Reply-To: References: Message-ID: <8e3843570808291407i6981b536j130e0bd881197ab1@mail.gmail.com> On Fri, Aug 29, 2008 at 17:41, Sandro de Almeida Filho wrote: > Pessoal, como faço para rodar um script perl em background sem deixar > o navegador web aberto? Nos testes que fiz, ao fechar o navegador a > aplicação terminava. > > []'s > Sandro > _______________________________________________ > Cascavel-pm mailing list > Cascavel-pm em pm.org > http://mail.pm.org/mailman/listinfo/cascavel-pm > Sandro, Você precisa chamar uma aplicação não vinculada à sua interface web. Pode ser, por exemplo, um comando para o SO, com "nohup", ou qualquer coisa do tipo. um abraço, -- Otávio Fernandes From lgbassani em terra.com.br Fri Aug 29 14:14:54 2008 From: lgbassani em terra.com.br (Luciano Giordani Bassani) Date: Fri, 29 Aug 2008 18:14:54 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto Message-ID: <48B866CE.6010902@terra.com.br> Um anexo em HTML foi limpo... URL: From edencardim em gmail.com Fri Aug 29 16:47:02 2008 From: edencardim em gmail.com (Eden Cardim) Date: Fri, 29 Aug 2008 20:47:02 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto In-Reply-To: <48B8631F.9010401@terra.com.br> References: <48B8631F.9010401@terra.com.br> Message-ID: <3de55ead0808291647q35138f64tb7f9f6bcff187965@mail.gmail.com> 2008/8/29 Luciano Giordani Bassani : > Eu uso Fork para fazer isso. > > > Exemplo: > > $pid = fork(); > print "Fork failed: $!" unless defined $pid; > if($pid) > { > # Aqui vai o código executado pelo "pai" e que mostra na tela do navegador > que a página foi executada com sucesso > } > else > { > close(STDOUT); > # Aqui vai o código que vai ficar rodando em background > } Sua abordagem tem duas falhas graves: 1) perl -le -MLWP::UserAgent -e'$ua=LWP::UserAgent->new;$ua->post($uri_que_dispara_o_fork) while 1' 2) Se o processo filho morrer por algum motivo, o usuário que solicitou o processamento não vai perder o resultado que pediu e você não tem como notificá-lo disso. Além disso, a única forma de re-executar o processamento é pedir que o usuário interaja novamente com a aplicação. A forma correta de se executar processos de vida longa numa aplicação web é utilizar uma fila de processamento. Invés de executar na hora, você acrescenta um item na fila (que pode estar armazenada num mecanismo de persistência qualquer, como um banco de dados), contendo os parâmetros de execução, status, identificação do usuário que solicitou, etc. Enquanto isso, no seu servidor, vai haver um daemon que monitora a fila, executando os processos e esvaziando a fila a medida que forem concluídos. É bastante simples de implementar e existem soluções prontas no cpan como o TheSchwartz -- edenc.vox.com From edencardim em gmail.com Fri Aug 29 16:47:59 2008 From: edencardim em gmail.com (Eden Cardim) Date: Fri, 29 Aug 2008 20:47:59 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto In-Reply-To: <3de55ead0808291647q35138f64tb7f9f6bcff187965@mail.gmail.com> References: <48B8631F.9010401@terra.com.br> <3de55ead0808291647q35138f64tb7f9f6bcff187965@mail.gmail.com> Message-ID: <3de55ead0808291647m561a9ebt25725d049c9ed531@mail.gmail.com> 2008/8/29 Eden Cardim : > 1) perl -le -MLWP::UserAgent > -e'$ua=LWP::UserAgent->new;$ua->post($uri_que_dispara_o_fork) while 1' opa... perl -MLWP::UserAgent -e'$ua=LWP::UserAgent->new;$ua->post($uri_que_dispara_o_fork) while 1' -- edenc.vox.com From mdacwb em gmail.com Sun Aug 31 11:57:59 2008 From: mdacwb em gmail.com (Marco A P D'Andrade) Date: Sun, 31 Aug 2008 15:57:59 -0300 Subject: [Cascavel-pm] rodar processo em background sem navegador aberto In-Reply-To: References: Message-ID: <42dcdd750808311157s46589ac8nbddc81767672463@mail.gmail.com> Sandro, As dicas foram dadas, das que considero mais úteis, para executar em sua forma atual: - Fork - by Luciano - Necessidade de proteção - by Eden Agora meus complementos: Para utilizar o fork, vc deve transformar seu processo em daemon, isto é feito por um fork, fechamento de entradas (stdin, stdout e stderr) e a independencia do pae (POSIX::setsid). Maiores detalhes, e exemplo completo comentado: http://perldoc.perl.org/perlipc.html#Background-Processes Proteção: Considerando que vc terá processamento demorado, por isto necessita de um daemon, vc deverá garantir que não serão solicidos mais processamentos que seu hardware pode aguentar. Para isto vc pode utilizar um pseudo-semaforo (arquivo de controle, e não ipc real) com flock, ou arquivos de pid, com kill(0) para validar a execução... O uso de flock consistiria em criar um arquivo, digamos em /var/run e fazer um lock. No caso de falha nesta ação, recusaria o processamento, dando a resposta que julgar adequada (falha, tente mais tarde, já em execução). Uso de flock é descrito na documentação: http://perldoc.perl.org/functions/flock.html O uso de kill(0), lembro de ter lido um exemplo em uma das listas, e segundo meus rápidos testes foi eficaz. Consiste em ler um arquivo de pid, e se houver um valor, tentar um kill(0, $pid). Se falhar, o processo já morreu, e pode iniciar outro. Novamente, voltamos à documentação do Perl IPC (Inter Process Comunication): http://perldoc.perl.org/perlipc.html#Signals Espero ter sido útil. Sds, Marco Antonio 2008/8/29 Sandro de Almeida Filho > Por exemplo: > acessarei www.meusite.com.br/aplicacao.pl > > Neste aplicacao.pl há um loop muito grande, processando dados. Oo > fechar o navegador, o loop está encerrando antes da hora. > É isso que desejo resolver. > > Alguma dica? > > []'s > Sandro > > > > 2008/8/29 Fernando Oliveira : > > Não devo ter entendido a pergunta... > > Mas já tentou rodar fora do apache? > > Tipo: > > ./seu_prog.pl > > ou > > perl seu_prog.pl > > > > ... > > > > Mas realmente eu não devo ter entendido a sua pergunta... > > > > 2008/8/29 Sandro de Almeida Filho > >> > >> Pessoal, como faço para rodar um script perl em background sem deixar > >> o navegador web aberto? Nos testes que fiz, ao fechar o navegador a > >> aplicação terminava. > >> > >> []'s > >> Sandro > >> _______________________________________________ > >> Cascavel-pm mailing list > >> Cascavel-pm em pm.org > >> http://mail.pm.org/mailman/listinfo/cascavel-pm > > > > > > > > -- > > Just another Perl Hacker, > > Fernando (SmokeMachine) > > http://perl-e.org > > > > _______________________________________________ > > 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 > -------------- Próxima Parte ---------- Um anexo em HTML foi limpo... URL: