制作这个剧本:
#!/usr/local/bin/perl
#simple export from win-services with current state v. 0.1
use Win32::Service;
#hash-code for service reasons
my %statcodeHash = (
'1' => 'STOPPED',
'4' => 'RUNNING',
'7' => 'PAUSED'
);
my %serviceHash;
#Going to get the data from services and export
Win32::Service::GetServices("", \%serviceHash);
foreach $key(keys %serviceHash){
my %statusHash;
Win32::Service::GetStatus("", $serviceHash{$key}, \%statusHash);
if ($statusHash{"CurrentState"} =~ /[1-7]/){
print $serviceHash{"$key"} . "THE SERVISE IS " . $statcodeHash{$statusHash{"CurrentState"}} . "\n";
}
}
如何获取scrips给我的所有数据,并将它放在我的硬盘上的.txt文件中?
脚本显示了我的系统中的哪些服务以及哪些服务正在运行,哪些服务没有运行。 我想将其导出到.txt文件
感谢
答案 0 :(得分:0)
而不是打印到STDOUT,你应该将它打印到一个文件进行写入/追加。
# initialize outside foreach loop, open file for appending
open MYFILE, '>>', '/path/to/my/txtfile' or die("error writing to file $!");
# print to file
print MYFILE $serviceHash{"$key"} . "THE SERVISE IS " . $statcodeHash{$statusHash{"CurrentState"}} . "\n";
perldoc中的更多文档
perldoc -f open
perldoc -f print