我有一个使用perl的cgi文件,我想在其中显示本地时间和正常运行时间。我似乎无法正常运行时间
我正在尝试设置变量$ utime =正常运行时间,但这当前不起作用。我也尝试使用/ proc / uptime,但这没有用。以下是我到目前为止尝试过的内容
#!/usr/bin/perl -w
#Script Name: sysInfo.cgi
use CGI ":standard";
$loctime = localtime;
$utime = uptime;
print header,
start_html("Localtime and Uptime"),
h1("$loctime"),
h1("$utime"),
end_html;
我确定我缺少一些简单的东西,但是在浏览器中执行时,我只是一直保持正常运行时间。
答案 0 :(得分:2)
代码的相关行是:
$loctime = localtime;
$utime = uptime;
这些行为有些不同。
第一个调用Perl函数“ localtime”,并将其结果分配给变量。由于在标量上下文中调用该函数,因此该函数返回人类可读的字符串。
第二行应该产生某种警告,除非您在程序的某个位置定义了uptime
。也许:
未加引号的字符串“正常运行时间”可能与将来的保留字冲突
这解释了为什么$utime
最终包含单词“正常运行时间”。
似乎您要调用unix命令uptime
并将其输出分配给该变量。为此,通常使用qx//
的某些变体(又称反引号):
$utime = `/usr/bin/uptime`;
$utime = qx( /usr/bin/uptime );
有关详细信息,请参见perldoc -f qx
。