作者collin2315 (梭哈!)
看板Perl
标题Re: [问题] 关於在Linux上执行在Windows上编辑的Pe …
时间Mon Jul 21 20:10:47 2008
※ 引述《garibaldi76 (贾宝迪)》之铭言:
: ※ 引述《collin2315 (梭哈!)》之铭言:
: : 日前於Windows系统上编辑一Perl程式 现在要将其程式转移至Linux平台上执行
: : 由於自己对Perl在Linux上执行与编辑的方式不了解 对Linux也仅了解简单的语法
: : 在版上搜寻相关文章得到资讯也不多 G大神搜到的内容有点不对题
: : 想请各位先进推荐介绍在Linux上编辑执行Perl程式的网站与电子书
: : 在此先谢谢各位的帮助
: : PS: 於Windows系统上编辑的Perl程式,仅使用DBD-MySQL Module
: 在Linux或任何unix-like平台上可以在程式第一行加上shebang:
: #!perl
: 并且将档案的执行权限打开(chmod +x file.pl),
: 这样可以和一般程式一样直接打档名就执行了
抱歉 沿着这个标题发问
最近在学习HTML呼叫Perl程式 从网路上将一HTML网页建立於/var/www/html/WSRR中
HTML如下:
<HTML>
<HEAD>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
<form action="../../cgi-bin/test.pl" method='POST'>
<input type=text name=test>
<input type=submit value='Send'>
</form>
</BODY>
</HTML>
呼叫位於/var/www/cgi-bin的test.pl程式
test.pl如下
#!perl
print "content-type:text/html","\n\n";
if ($ENV{'REQUEST_METHOD'} eq 'GET')
{
$querry=$ENV{'QUERY_STRING'};
}
elsif($ENV{'REQUEST_METHOD'} eq 'POST')
{
read(STDIN, $querry, $ENV{'CONTENT_LENGTH'} );
}
@querry=split(/&/,$querry);
foreach $pair (@querry)
{
($name,$value)=split(/=/,$pair);
$value=~s/\+//g;
$value=~s/%0D%0A/<br>/g;
$value=~s/%([0-9a-fA-F][0-9a-fA-F])/pack("C",hex($1))/eg;
$FORM{$name}=$value;
}
$testvalue=$FORM{'test'};
开启网页并键入文字时,却产生HTTP 404的错误
(一开始为HTTP 500的错误,参考
http://faq.dollarhosts.com.tw/faqcgi.php
修改程式与chmod 755後变成404)
另外,在/var/www/cgi-bin中产生一txt做测试也无法直接从IE开启
(ex:
http://ip/cgi-bin/test.txt)
想请问各位前辈我该如何解决? 谢谢回覆
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.245.197
1F:→ srwff:你的test.pl没输出完整的网页吧 所以开不了吧...maybe 07/22 01:25
2F:推 salagadoola:action那边改成action="/cgi-bin/test.pl"试试看 07/22 11:11