#!/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
的输出而不是当前日期
我无法找到解决此问题的任何方法。请帮忙。
答案 0 :(得分:2)
使用system
而不是backtick
命令。 system
命令不会返回变量中的值。改变这一行:
my $date = system('date');
到
my $date = `date`;
有关system
和backtick
的更多信息,请参阅此处:
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。