使用perl查找正常运行时间的cgi文件

时间:2019-04-19 02:17:51

标签: perl cgi

我有一个使用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;

我确定我缺少一些简单的东西,但是在浏览器中执行时,我只是一直保持正常运行时间。

1 个答案:

答案 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