I'm working on a log parser. (My other question,
Compiling Regular Expressions). Each log line has the standard timestamp followed by the event. I've found that if I seperate the timestamps from each line, approx 55% of the event portions of my sample log are repeats. The obvious solution would be to cache to results of the event parsing as to avoid repeatedly parsing the same thing.
In the case of each event, I do some simple math to a variety of data types. Example:
In the event of
$event = "a access b via c (d) <e> <f>";
then
$access{a}{b}++;
push(@list,[$e,$f]); # if possible
$count{b}++;
$accessed{b}++;
etc;
My question is, how would I cache such a set of simple operations and have them called should
$event already have been parsed once? My only ideas include
eval and from what I understand from reading and using it,
eval is not the most speedy of options.
Any insight would be appreciated. Thanks,
-billyak
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.