免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2371 | 回复: 3
打印 上一主题 下一主题

用perl写的一个cgi脚本,不读入数据。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-05-07 22:06 |只看该作者 |倒序浏览
本帖最后由 浅倦 于 2015-05-07 22:06 编辑

小弟用perl写了一个cgi脚本,文件名是file.cgi,读取变量和对变量进行分割的部分在测试的时候都很正常,但第三部分打开文件并按行读入的时候,用perl file.cgi测试是正常的,但是通过浏览器测试就不读入文件。以下是源代码,希望高手能够给予解惑。


#!/usr/bin/perl -w
#print a fromatted list of all the environment variables

use strict;

print "Content-type:text/plain\n\n";

#读取变量
#my $var_top = $ENV{QUERY_STRING};
my $var_top = "Other&Rbcl";
print $var_top . "\n";

#对变量进行分割,并组成方便查询的形式
my @var_name = split /&/ , $var_top;
my $last = pop @var_name;
chomp($last);
print $last;
my $match = "";
foreach (@var_name){
        $match= $match . $_ .".*";
}
chomp($match);
print $match;

my $path = "/var/www/ibi/phylogenedb/download/$last.txt";
print $path;

#在文件中查询,并输出
my $first;
my $second;
open READIN, $path or die "Cannot read $last: $!";
while (<READIN>){
        print $_;
}
#open(MYFILE1,">../phylogenedb/download/sequence");
#while (chomp($first=<READIN>),chomp($second=<READIN>)){
#       $_ = $first;
#       if (/]$match.$last/){
#               print $first . "\n" . $second . "\n";
#       }
#}

close (READIN);

论坛徽章:
0
2 [报告]
发表于 2015-05-07 22:06 |只看该作者
也不显示"Cannot read $last: $!"这个语句,只是正常执行了print $var_top . "\n";print $match;print $path;这三个输出语句。

论坛徽章:
0
3 [报告]
发表于 2015-05-08 10:41 |只看该作者
这个也可以有?

如果单纯命令行没问题,
那么严格说不是perl问题,是你path或者www发布配置的问题。

论坛徽章:
0
4 [报告]
发表于 2015-05-08 19:09 |只看该作者
回复 3# yeahnoob


    谢谢。今早请老师看了,是服务器上权限方面的问题。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP