<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content=text/html;charset=ISO-8859-1>
<META content="MSHTML 6.00.2900.2995" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>O tempo I/O mataria a aplicação.</FONT></DIV>
<DIV><FONT face=Arial size=2>O script Perl é um CGI que eu uso para repassar
dados para outro aplicativo.</FONT></DIV>
<DIV><FONT face=Arial size=2>Esse OUTRO, sim, é a aplicação em uso, que possui
todas as funcionalidades de transacionar com a base dados.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>A única funcão, e não passar disso, do script
Perl, é repassar os dados para a outra aplicação.</FONT></DIV>
<DIV><FONT face=Arial size=2>Ou seja, o script Perl é como um shell sobre o qual
a outra aplicação é carregada.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Se eu trocar o script, por outro em PHP, será que
ainda terei essa limitação?</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
<A title=ricardoportilho@terra.com.br
href="mailto:ricardoportilho@terra.com.br">Ricardo Portilho Proni</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=cascavel-pm@pm.org
href="mailto:cascavel-pm@pm.org">Cascavel Perl Mongers</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, November 28, 2006 2:39
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: [Cascavel-pm] Limite de
variavies de ambiente e system</DIV>
<DIV><BR></DIV>Vc pode resolver este problema, mas está utilizando variáveis
de ambiente para fazer algo que elas não foram feitas para fazer.<BR>Se
revolver esse, é possível que encontre outra barreira, ainda mais se quiser
fazer de forma portável.<BR><BR>Coloque as informações que precisa em uma
tabelas simples, em um banco simples. A primeira aplicação alimenta a tabela,
a segunda pega. Tudo ficará bem...<BR><PRE class=moz-signature cols="72">Ricardo Portilho Proni
Oracle Database 10g Administrator Certified Associate
Microsoft Certified Professional
Nerv Informática Ltda.</PRE><BR><BR>Alceu R. de Freitas Jr. escreveu:
<BLOCKQUOTE cite=mid304339.15075.qm@web30804.mail.mud.yahoo.com type="cite"><PRE wrap="">--- Agnaldo Macedo <A class=moz-txt-link-rfc2396E href="mailto:agnaldo@starweb-software.com.br"><agnaldo@starweb-software.com.br></A>
escreveu:
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Sobre o que a aplicação:
Eu uso o Perl/CGI para capturar as informações
vindas do WebServer e
repassar para outra aplicação.
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Que tal webservices? Você poderia implementar isso até
usando LWP para criar uma requisição para o servidor
web e fazer processar a resposta.
Se esse tipo de informação não mudar com muita
freqüência, você poderia até implementar um cache.
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Não, eu não posso me livrar da outra aplicação
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Você não pode trazê-la para o mesmo servidor então?
Você poderia utilizar memória compartilhada ou sockets
(Winsockets, Unix sockets)... claro, estou só
especulando.
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Estou usando as variabeis de ambiente porque são
mais rapidas do que usar
arquivo em disco.
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Você lê as informações do outro servidor, configura
variáveis de ambiente e depois passa para seu
programa?
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Se eu for usar arquivo em disco para intercambiar os
dados a aplicação se
torna definitivamente inviável.
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Eu não sei que programa você está usando, mas minha
sugestão seria essa:
1 - tentar eliminar o uso desse programa utilizando um
programa feito em Perl que pudesse ser executado sem o
uso de system ou exec.
2 - Usar um named pipe para passar as informações para
seu programa.
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Sobre sistema:
Eu preciso da apliucação rodando sobre
windows/linux/unix, então, não posso
fugir do windows.
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Mais um motivo para você substituir o programa em
questão por código Perl. Talvez se você puder contar
qual é esse programa em questão, o pessoal possa dar
mais sugestões.
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">O que ficou estranho é o funcionamento do system, em
não conseguir chamar a
outra aplicação quando as variaveis chegaram a 32k.
Uma vez que o system faz uma chamada ao shell, no
caso, o cmd.exe, ele não
esta conseguindo essa parte.
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Eu nunca passei por essa situação, realmente não sei
como lhe ajudar. Veja se o Windows Power Shell não
pode lhe ajudar nesse caso.
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">A outra coisa sinistra foi quando usando exec, é o
mesmo não conseguir mais
repassar as variaveis comuns do ambiente CGI mas
conseguir repassar as
outras que que gerava na mão, embora, dentro do
scrip Perl elas ainda
existirem.
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Se não estou enganado, o exec não use o shell. Talvez
você queira tentar o módulo Win32::Process
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Ainda não fiz o teste sobre Linux/Unix, talves neles
os erros não ocorram.
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Só tentando. Mas eu receio que você não terá esses
problemas, a expectativa é que os shells desses
sistemas operacionais deixem o cmd do Windows no
chinelo.
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Infelizmente, eu tenho a necessidade de que
funcione, também, sobre Windows.
O material da ActiveState é bem recomendado. Será
que devo testar com outra
distribuição?
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Eu ficaria com o ActiveState.
</PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">Teria como indicar ao suystem/exec para que eles
façam chamada a outro
shell?
</PRE></BLOCKQUOTE><PRE wrap=""><!---->
Talvez se você configurar outro shell para ser
utilizado. Mas nem sei se isso é possível no Windows.
[]'s
Alceu Rodrigues de Freitas Junior
--------------------------------------
<A class=moz-txt-link-abbreviated href="mailto:glasswalk3r@yahoo.com.br">glasswalk3r@yahoo.com.br</A>
<A class=moz-txt-link-freetext href="http://www.imortais.cjb.net">http://www.imortais.cjb.net</A>
-----------------------------------------------------------------------
A well-used door needs no oil on its hinges.
A swift-flowing stream does not grow stagnant.
Neither sound nor thoughts can travel through a vacuum.
Software rots if not used.
These are great mysteries -- The Tao Of Programming, 5.1
                
_______________________________________________________
O Yahoo! está de cara nova. Venha conferir!
<A class=moz-txt-link-freetext href="http://br.yahoo.com">http://br.yahoo.com</A>
_______________________________________________
Cascavel-pm mailing list
<A class=moz-txt-link-abbreviated href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</A>
<A class=moz-txt-link-freetext href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</A>
</PRE></BLOCKQUOTE>
<P>
<HR>
<P></P>_______________________________________________<BR>Cascavel-pm mailing
list<BR>Cascavel-pm@pm.org<BR>http://mail.pm.org/mailman/listinfo/cascavel-pm</BLOCKQUOTE></BODY></HTML>