[SP-pm] erro em CGI - função system

Eden Cardim edencardim em gmail.com
Sexta Dezembro 1 09:49:54 PST 2006


On 12/1/06, perl em osfeio.com <perl em osfeio.com> wrote:
> Pessoal,
>
> Estou tendo problemas para executar um print em um CGI, aparece o seguinte erro:
>
> 65280
>
> No código estou usando:
>
> print "Content-type: text/html\n\n";
>
> print system("dir");
>
> É um erro bobo, mas ainda não encontrei o local que apresenta problema de permissão, se alguem souber ou tiver alguma diga, eu agradeço.

Falta um pouco de contexto na sua pergunta. Qual é o sistema
operacional? Como você está invocando o programa, via CGI? E o
principal: o que você está tentando fazer? Se você está querendo
mostrar a listagem de arquivos no diretório atual, isso aí não vai
funcionar, já que a função system só retorna o status do programa que
foi executado, se você quiser capturar a saída, teria que usar crases,
assim:

print `dir`;

Mesmo assim, essa não é a forma recomendada de se fazer, se você gosta
de fazer tudo na mão grande, use a função opendir, se for um pouco
preguiçoso, use a função glob, e se for muuuuito preguiçoso (esse é o
meu caso), use o módulo File::Slurp.

Outra dica, se você estiver aprendendo a montar scripts CGI, recomendo
que pare, enquanto ainda há tempo, e invista seu tempo aprendendo
Catalyst.

-- 
Eden Cardim
Instituto Baiano de Biotecnologia
Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas
Laboratório de Bioinformática
--
"you seem to think that 'close enough' is close enough...
please learn to be 'literal' around programming."
merlyn - on irc.freenode.net#perl


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