[Cascavel-pm] system

Agnaldo Macedo agnaldo em starweb-software.com.br
Terça Novembro 28 12:51:35 PST 2006


Pois então gente.

O shell do sistema operacional até que dá para trocar.
basta setar a variavel de ambiente
PERL5SHELL
apontando ela para o novo executavel do shell.

Fiz  meu teste aqui, sobre Win32, e, ao invés de usar o cmd.exe, apontei 
para o powershell.exe, que é o novo que o windows VAI usar nas novas 
versões.
Essa parte funcionou.

MAS, não solucionou o meu problema.
Ou seja, tenho um script CGI em Perl.
O mesmo recebe variaveis de formularios da web, repassa os dados para 
variaveis de ambiente, chama o meu OUTRO programa via system ou exec e este 
OUTRO programa le as variaves de ambiente e as usa.
Tudo roda às mil maravilhas.

MAS, quando tenho variaveis com mais de 32Kb, os problemas começam.
Quando uso system, ele devolve a mensgem de erro:
Can't spawn "cmd.exe": No such file or directory at  teste.pl linha tal
Eu fiz a troca do shell, usando outro ao invés do cmd.exe.
O erro persiste, apenas que ele mostra o nome do outro shell, o que indica 
que o Perl esta usando o outro shell mesmo.

Quanto uso exec, não dá erro, MAS as variaveis CGI somem.
Ou seja, as minhas variaveis ele manteve, mais algumas das genéricas somem.





----- Original Message ----- 
From: "Nilson Santos Figueiredo Junior" <acid06 em gmail.com>
To: "Cascavel Perl Mongers" <cascavel-pm em pm.org>
Sent: Tuesday, November 28, 2006 6:36 PM
Subject: Re: [Cascavel-pm] system


On 11/28/06, Alceu R. de Freitas Jr. <glasswalk3r em yahoo.com.br> wrote:
> Da forma que está sendo usado, o system não vai chamar
> o shell nunca.

system('dir', @args) chama o shell.
system('programaquenaoexiste.exe', @args) também chama.

O fato é que, da forma como ele está usando, não era pra estar chamando.

-Nilson Santos F. Jr.
_______________________________________________
Cascavel-pm mailing list
Cascavel-pm em pm.org
http://mail.pm.org/mailman/listinfo/cascavel-pm 



Mais detalhes sobre a lista de discussão Cascavel-pm