나는 로그 파서를 작성했다. 로그는 수천 줄에서 수백만 줄까지 가능합니다. 파싱 된 항목을 해시 조회 배열에 저장합니다.Perl 구문 분석 로그/결과 저장/결과 읽기
내 출력을 저장하는 방법에 대한 제안을 찾고 있으므로 스크립트를 다시 실행하면 빨리 다시 읽을 수 있습니다. 이렇게하면 로그를 다시 구문 분석 할 필요가 없습니다.
최종 목표는 사용자가 쿼리를 만들 수있는 웹 인터페이스를 갖추는 것입니다 (기본적으로 데이터베이스 내에 존재하는 것처럼 파싱 된 결과를 처리합니다).
나는 Data :: Dumper의 출력을 파일에 쓰는 것을 이미 고려했다.
다음은 Data :: Dumper로 인쇄 된 배열 항목의 예입니다.
$VAR = { 'weekday' => 'Sun', 'index' => 26417, 'timestamp' => '1316326961', 'text' => 'sys1 NSP Test.cpp 1000 This is a example error message. ', 'errname' => 'EM_TEST', 'time' => { 'array' => [ 2011, 9, 18, '06', 22, 41 ], 'stamp' => '20110918062241', 'whole' => '06:22:41', 'hour' => '06', 'sec' => 41, 'min' => 22 }, 'month' => 'Sep', 'errno' => '2261703', 'dayofmonth' => 18, 'unknown2' => '1', 'unknown3' => '1', 'year' => 2011, 'unknown1' => '0', 'line' => 219154 },
내 목표를 달성하는보다 효율적인 방법이 있습니까?
감사합니다.
[Storable] (http://search.cpan.org/perldoc?Storable) 모듈은 어떻습니까? – TLP
해당 데이터에는 중복 ** **이 있습니다. 'timestamp '값을 저장하면'전체 ','시간 ','초 ','분 ','월 ','일간 신문 ','연도 '등을 버릴 수 있습니다. –