[英]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.