首先,如果您觉得这是重复的,我表示歉意。我环顾四周,发现了一些非常相似的问题,但我要么迷路了,要么不是我认为我需要的东西,因此不能提出适当的实施方案。Perl - 从文本文件中解析块
问题:
所以我有一个包含由另一个脚本生成的条目一个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().',
},
},
},
};
要做这件事的最好方法是什么?我应该更改生成的日志的格式以使其更容易吗?如果您需要更多信息,请询问。先进的谢谢你。 :)
嗯。当我有机会的时候,我会更加关注这个问题,谢谢。 – Dylan