まず、これが重複していると思われる場合は、お詫び申し上げます。周りを見回して、非常によく似た質問をいくつか見つけましたが、迷子になった、または必要だと思うものではなかったため、適切な実装を思い付くことができませんでした。
質問:
したがって、別のスクリプトによって作成されたエントリを含む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().',
},
},
},
};
これを行うための最良の方法は何でしょうか?生成されたログのフォーマットを変更して、自分で簡単にできるようにする必要がありますか?これ以上の情報が必要な場合は、質問してください。よろしくお願いします。:)