ฉันใหม่เพื่อ Perl ฉันกำลังเขียนสคริปต์ด้านล่างเพื่อพิมพ์ข้อมูลเวลาการบูตระบบจากคำสั่ง windows systeminfo
. ดูปัญหาบางอย่างที่นี่ ฉันได้ผลลัพธ์เช่นนี้
มีคนช่วยฉันได้
use strict;
use warnings;
my $filename = 'sysinfo.txt';
my @cmdout = `systeminfo`;
open(my $cmd, '>', $filename) or die "Could not open file '$filename' $!";
print $cmd @cmdout;
foreach my $file (@cmdout) {
open my $cmd, '<:encoding(UTF-8)', $file or die;
while (my $line = <$cmd>) {
if ($line =~ m/.*System Boot.*/i) {
print $line;
}
}
}
เอาท์พุท:
Died at perl_sysboottime.pl line 8.
บรรทัด 8 คืออะไร
—
Putnik
คุณกำลังเปิด $ cmd สองครั้ง ไม่มีข้อผิดพลาดจากมุมมอง Perl แต่ค่อนข้างสับสนสำหรับทุกคนที่จะต้องรักษารหัสของคุณ
—
Putnik