我正在使用cgi调用perl函数,并且在perl函数内部,我希望它在txt中写一些东西。但这暂时不起作用。我试图在我的apache服务器上运行cgi脚本。 CGI可以按我的要求打印网页,但看不到我要写入的文件。好像perl脚本没有被服务器执行。
perl脚本非常简单。文件名为perl预测_seq_1.pl
#!/usr/bin/perl -w
use strict;
use warnings;
my $seq = $ARGV[0];
my $txtfile = "test.txt";
open(my $FH, '>', $txtfile);
print $FH "test $seq success\n";
close $FH;
还有cgi部分,我只是称呼为
system('perl predict_seq_1.pl', $geneSeq);
答案 0 :(得分:0)
您的CGI程序将由在您的系统上具有非常低权限的用户运行-肯定低于在同一系统上您自己的用户帐户。
似乎有两件事之一正在发生:
您应该检查system()
的返回值,并查看$?
的值。
答案 1 :(得分:0)
要么给系统一个字符串,要么给它单独的参数。您的脚本正在尝试并且无法运行程序perl predict_seq_1.pl
,而不是让perl运行脚本predict_seq_1.pl
。
system('perl', 'predict_seq_1.pl', $geneSeq);