簡體   English   中英

將perl結果輸出到文件中

[英]Output perl results into file

當我使用perl文件名運行它時,我有一個perl腳本可以正常工作,但是當我使用命令時

perl -w logint > logintime.html

我得到這個錯誤

Use of uninitialized value $days in multiplication (*) at logint line 5, <LAST> line 3.

它從第3-47行重復

這是perl代碼

#!/usr/bin/perl
open LAST, "last |";
while (<LAST>) {
    if (($name,$days,$hours,$mins) = /^(\w+).+\((?:(\d+)\+)?(\d+):(\d+)/) {
        $TIMES{$name} += 1440 * $days + 60 * $hours + $mins;
    }
}
foreach (sort keys %TIMES) {
    print "$_ $TIMES{$_}\n";
}

這就是我試圖輸出的方式。

#!/bin/bash
echo $HDR > ~/public_html/logintime.html
perl -w logint > logintime.html
echo $FTR >> ~/public_html/logintime.html

這只是警告,不是錯誤。 您在運行該命令時會看到它,因為“ -w”是警告提示。

您也可以將其放在shebang的結尾

    #!/usr/bin/perl -w

或“使用警告;”。 無論如何,警告只是說它沒有價值。 您似乎正在閱讀最新的日志以查看誰最近一次登錄,所以輸出可能會有所不同,具體取決於您所使用的操作系統。 我會確認它能按預期工作並獲得正確的值。

使用“嚴格使用”也是一種最佳做法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM