perl cgi 프로그래밍 해보신분...

khk의 이미지

잘 안되는 것이 있어서요...
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` 로 실행하면 왜 안되는지........

혹시 아시는 분 계시면 답변 부탁드립니다.

stoneshim의 이미지

cgi로 실행시키실때 perl2.pl이 실행되는것은 확인하셨나요?

혹시나... path를 명시하지 않아서 perl2.pl가 실행조차 안되는게 아닐까요?

우리 모두 리얼리스트가 되자. 그러나 가슴에 이룰 수 없는 꿈을 가지자

khk의 이미지

패스의 문제는 아니구요...
실행이 되긴 되는데 쉘에서 실행했을 때와 다른 잘못된 결과가 나옵니다.

직접 코딩한 프로그램이 아닌 상용 프로그램중에 나타나는 현상이라서...

perl2.pl이 말하자면 html 코드생성을 해주는 프로그램인데 arg1, arg2, arg3 인자에 따라서 생성되는 코드가 달라집니다.

그런데 쉘로 perl2.pl을 실행시키면 arg1..arg3 를 제대로 읽어서 원하는
html 코드를 생성시켜주는데..
cgi로 실행시키면 arg1..arg3를 제대로 처리하지 못해서 다른 html 코드를
생성해냅니다.

혹시 cgi로 짤 경우는 argument 처리에 별도의 다른 방법을 써야하는지 모르겠습니다.......................

cjh의 이미지

CGI환경에서 그 프로그램을 실행할 때 무언가 다른 일이 생기는 모양이네요.

혹 외부 환경(환경변수, 실행하는 사용자, 그 프로그램에서 접근하는 파일/디렉토리에 대한 읽기/쓰기 권한)이 보통 실행할 때와 일치하는지 살펴보시기 바랍니다. 많은 경우는 사용자가 달라서(웹 서버는 별도의 사용자로 실행되죠) 그렇습니다.

--
익스펙토 페트로눔

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.