CGI印刷问题

时间:2015-11-17 09:40:27

标签: perl cgi

#!/usr/bin/perl -w
use CGI qw(:all);
use CGI::Carp qw(fatalsToBrowser);
use strict; 
print "Content-type: text/plain\n";
print "\n";

my $date = system('date');

print "Date :: $date";

以上代码不断生成Date :: 0的输出而不是当前日期 我无法找到解决此问题的任何方法。请帮忙。

2 个答案:

答案 0 :(得分:2)

使用system而不是backtick命令。 system命令不会返回变量中的值。改变这一行:

my $date = system('date');

my $date = `date`;

有关systembacktick的更多信息,请参阅此处: https://stackoverflow.com/a/800105/4248931

答案 1 :(得分:1)

system command的返回值是呼叫的返回值。对于成功调用,这将为0.如果要捕获命令的输出,请使用反引号或IPC。看看这个答案:Capture the output of Perl system()

my $date = `date`;

print "Date :: $date";

但更好的方法是使用DateTime