저는 Fedora-20에서 Apache 서버를 사용하고 있습니다. 로컬 서버에서 perl-cgi 프로그램을 실행하려고 하는데 작동하지 않습니다. html과 perl 코드를 첨부했습니다.
HTML 프로그램:
<html>
<head><title>Demo</title>
</head>
<body>
<form action="/cgi-bin/fam.cgi" method="post">
<input type="text" name="username">
<input type="submit">
</form>
</body>
</html>
정상적으로 실행되고 다음이 출력됩니다.
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "hello world\n";
하지만 매개변수를 전달하면 작동하지 않습니다.
#!usr/bin/perl -wT
use CGI;
my $username = param('username');
print header;
print start_html("Perl page");
print h2("hello $username");
print end_html;
cgi 모듈을 설치했습니다. 어떤 제안이 있으십니까?
답변1
내 생각에는 다음을 추가해야 한다고 생각합니다.
my $q = CGI->new();
my $username = $q->param('username');
...
따라서 전체 내용은 다음과 같아야 합니다.
#!/usr/bin/perl -wT
use strict;
use warnings;
use CGI;
my $q = CGI->new();
my $username = $q->param('username');
print $q->header();
print $q->start_html("Perl page");
print $q->h2("Hello, $username!\n");
print $q->end_html;
더 자세히 알아볼 수 있습니다.여기.
또한 파일에 "/"가 누락되었습니다.
#!usr/bin/perl -wT
나는 다음과 같아야 한다고 생각합니다.
#!/usr/bin/perl -wT