将数据从Perl脚本导出到.txt文件

时间:2013-04-26 07:49:11

标签: perl export

制作这个剧本:

   #!/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文件

感谢

1 个答案:

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