[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