私は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