首先,如果您觉得这是重复的,我深表歉意。我环顾四周,发现了一些非常相似的问题,但我要么迷路了,要么这不是我认为我需要的,因此无法提出正确的实现。
问题:
所以我有一个 txt 文件,其中包含由另一个脚本创建的条目(如果您可以提出更好的格式化方式,我可以编辑这些条目的生成方式):
SR4 Pool2
11/5/2012 13:45
----------
Beginning Wifi_Main().
SR4 Pool2
11/8/2012 8:45
----------
This message is a
multiline message.
SR4 Pool4
11/5/2012 14:45
----------
Beginning Wifi_Main().
SR5 Pool2
11/5/2012 13:48
----------
Beginning Wifi_Main().
我制作了一个 perl 脚本来解析文件:
#!C:\xampp-portable\perl\bin\perl.exe
use strict;
use warnings;
#use Dumper;
use CGI 'param','header';
use Template;
#use Config::Simple;
#Config::Simple->import_from('config.ini', \%cfg);
my $cgh = CGI->new;
my $logs = {};
my $key;
print "Content-type: text/html\n\n";
open LOG, "logs/Pool2.txt" or die $!;
while ( my $line = <LOG> ) {
chomp($line);
}
print $logs;
close LOG;
我的目标是最终得到一个如下所示的哈希:
$logs = {
SR4 => {
Pool2 => {
{
time => '11/5/2012 13:45',
msg => 'Beginning Wifi_NDIS_Main().',
},
{
time => '11/8/2012 8:45',
msg => 'This message is a multiline message.',
},
},
Pool4 => {
{
time => '11/5/2012 13:45',
msg => 'Beginning Wifi_NDIS_Main().',
},
},
},
SR5 => {
Pool2 => {
{
time => '11/5/2012 13:45',
msg => 'Beginning Wifi_NDIS_Main().',
},
},
},
};
解决这个问题的最佳方法是什么?我应该更改生成日志的格式以使自己更容易吗?如果您需要更多信息,请询问。提前谢谢你。:)