perl cgi 프로그래밍 해보신분...
글쓴이: khk / 작성시간: 수, 2003/06/04 - 3:32오후
잘 안되는 것이 있어서요...
perl로 cgi 프로그래밍하는건데요...
html form에서 submit하면 perl1.pl을 실행합니다.
perl(perl1.pl) 안에서 또 다른 perl(perl2.pl) 파일을 실행시켜 그 값을 사용해야 합니다.
perl1.pl 안에 다음과 같은 부분으로 처리하였습니다.
$result = `perl2.pl arg1=aa arg2=bb arg3=cc`;
--> perl2.pl이 인자 arg1, arg2, arg3 값을 이용하여 html 코드를 생성합니다.
print $result;
그런데 이상하게도 perl2.pl이 실행될 때 인자값(arg1, ... , arg3)을 제대로 받아오질 못하는 것 같습니다.
반면 cgi 안에서 실행하지 않고 바로 쉘에서 perl2.pl을 실행시키면
$ perl2.pl arg1=aa arg2=bb arg3=cc
제대로된 html 코드를 생성해 냅니다.
쉘에서 이렇게 인자값을 넘겨서 실행하면 되는데
cgi로 된 perl스크립트(perl1.pl) 안에서
`perl2.pl arg1=aa arg2=bb arg3=cc` 로 실행하면 왜 안되는지........
혹시 아시는 분 계시면 답변 부탁드립니다.
Forums:
cgi로 실행시키실때 perl2.pl이 실행되는것은 확인하셨나요?
cgi로 실행시키실때 perl2.pl이 실행되는것은 확인하셨나요?
혹시나... path를 명시하지 않아서 perl2.pl가 실행조차 안되는게 아닐까요?
우리 모두 리얼리스트가 되자. 그러나 가슴에 이룰 수 없는 꿈을 가지자
패스의 문제는 아니구요...실행이 되긴 되는데 쉘에서 실행했을 때와
패스의 문제는 아니구요...
실행이 되긴 되는데 쉘에서 실행했을 때와 다른 잘못된 결과가 나옵니다.
직접 코딩한 프로그램이 아닌 상용 프로그램중에 나타나는 현상이라서...
perl2.pl이 말하자면 html 코드생성을 해주는 프로그램인데 arg1, arg2, arg3 인자에 따라서 생성되는 코드가 달라집니다.
그런데 쉘로 perl2.pl을 실행시키면 arg1..arg3 를 제대로 읽어서 원하는
html 코드를 생성시켜주는데..
cgi로 실행시키면 arg1..arg3를 제대로 처리하지 못해서 다른 html 코드를
생성해냅니다.
혹시 cgi로 짤 경우는 argument 처리에 별도의 다른 방법을 써야하는지 모르겠습니다.......................
CGI환경에서 그 프로그램을 실행할 때 무언가 다른 일이 생기는 모양이네
CGI환경에서 그 프로그램을 실행할 때 무언가 다른 일이 생기는 모양이네요.
혹 외부 환경(환경변수, 실행하는 사용자, 그 프로그램에서 접근하는 파일/디렉토리에 대한 읽기/쓰기 권한)이 보통 실행할 때와 일치하는지 살펴보시기 바랍니다. 많은 경우는 사용자가 달라서(웹 서버는 별도의 사용자로 실행되죠) 그렇습니다.
--
익스펙토 페트로눔
댓글 달기