NAME
Games::EverQuest::LogLineParser - Perl extension for parsing lines from the EverQuest log file.
SYNOPSIS
use Games::EverQuest::LogLineParser;
my $eqlog_file = 'c:/everquest/eqlog_Soandso_veeshan.txt';
open(my $eq_log_fh, $eqlog_file) || die "$eqlog_file: $!";
while (<$eq_log_fh>)
{
my $parsed_line = parse_eq_line($_);
next unless $parsed_line;
do_something($parsed_line);
}
DESCRIPTION
Games::EverQuest::LogLineParser
provides functions related to parsing the interesting bits from an EverQuest log file.
Functions
parse_eq_line($eq_line)
-
Returns a hash ref, containing variable keys depending on the determined line type of the given log line. If the line was not recognized, then false is returned.
Two keys that will always be present, if the line was recognized, are
time_stamp
andline_type
. The first will contain the time string from the line, while the latter will be a string indicating how the line was classified. A givenline_type
hash ref, will always contain the same keys, though some of the values may beundef
or empty.For a list of line types (and associated keys) see the "LINE TYPES" section below.
parse_eq_line_type($line_type, $eq_line)
-
If you expect a line to be of a certain type, and want to test or parse it as that type, you can use this function. Call it with the expected line type and the log line to test or parse.
Returns a hash ref, containing variable keys depending on the type of line that was passed. If the line could not be parsed as the given line type, then false is returned.
Two keys that will always be present, if the line was recognized, are
time_stamp
andline_type
. The first will contain the time string from the line, while the latter will be a string indicating how the line was classified. A givenline_type
hash ref, will always contain the same keys, though some of the values may beundef
or empty.For a list of line types (and associated keys) see the "LINE TYPES" section below.
parse_eq_time_stamp($parsed_line-
{'time_stamp'})>-
Given the
time_stamp
value from a parsed line, returns a hash ref with the following structure:## sample input [Mon Oct 13 00:42:36 2003] { day => 'Mon', month => 'Oct', date => '13', hour => '00', min => '42', sec => '36', year => '2003', }
all_possible_line_types()
-
Returns a list of all possible line types for the hash refs that are returned by
parse_eq_line()
. all_possible_keys()
-
Returns a list of all possible keys for the hash refs that are returned by
parse_eq_line()
.
EXPORT
By default the parse_eq_line
, parse_eq_line_type
, parse_eq_time_stamp
, all_possible_line_types
and all_possible_keys
subroutines are exported.
SCRIPTS
Several scripts have been included as both tools and examples. All default to STDOUT for output, but accept an optional file name for the second argument as well.
- eqlog2csv.pl <eqlog_file> [output_file]
-
Converts an EverQuest log file into a CSV file (uses '|' character rather than commas).
- eqlog_line_type_frequency.pl <eqlog_file> [output_file]
-
Reports the frequency of all line types seen in the given EverQuest log file.
- eqlog_unrecognized_lines.pl <eqlog_file> [output_file]
-
Prints unrecognized lines from an EverQuest log file.
LINE TYPES
- MELEE_DAMAGE
-
input line: [Mon Oct 13 00:42:36 2003] You slash a Bloodguard crypt sentry for 88 points of damage. output hash ref: { line_type => 'MELEE_DAMAGE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attacker => 'You', attack => 'slash', attackee => 'A Bloodguard crypt sentry', amount => '88', }; comments: none
- YOU_MISS_MOB
-
input line: [Mon Oct 13 00:42:36 2003] You try to kick a Bloodguard crypt sentry, but miss! output hash ref: { line_type => 'YOU_MISS_MOB', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attack => 'slash', attackee => 'A Bloodguard crypt sentry', }; comments: none
- OTHER_MISSES
-
input line: [Mon Oct 13 00:42:36 2003] A Bloodguard crypt sentry tries to hit YOU, but misses! output hash ref: { line_type => 'OTHER_MISSES', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attacker => 'A Bloodguard crypt sentry', attack => 'hit', attackee => 'YOU', }; input line: [Mon Oct 13 00:42:36 2003] Soandso tries to slash a Bloodguard crypt sentry, but misses! output hash ref: { line_type => 'OTHER_MISSES', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attacker => 'Soandso', attack => 'slash', attackee => 'a Bloodguard crypt sentry', }; comments: none
- FACTION_HIT
-
input line: [Mon Oct 13 00:42:36 2003] Your faction standing with Loyals got worse. output hash ref: { line_type => 'FACTION_HIT', time_stamp => '[Mon Oct 13 00:42:36 2003] ', faction_group => 'Loyals', faction_change => 'worse', }; comments: none
- YOU_REPEL_HIT
-
input line: [Mon Oct 13 00:42:36 2003] A Bloodguard crypt sentry tries to hit YOU, but YOU parry! output hash ref: { line_type => 'YOU_REPEL_HIT', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attacker => 'A Bloodguard crypt sentry', attack => 'hit', repel => 'parry', }; comments: none
- MOB_REPELS_HIT
-
input line: [Mon Oct 13 00:42:36 2003] You try to slash a Bloodguard crypt sentry, but a Bloodguard crypt sentry ripostes! output hash ref: { line_type => 'MOB_REPELS_HIT', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attack => 'slash', attackee => 'A Bloodguard crypt sentry', repel => 'riposte', }; comments: none
- SLAIN_BY_YOU
-
input line: [Mon Oct 13 00:42:36 2003] You have slain a Bloodguard crypt sentry! output hash ref: { line_type => 'SLAIN_BY_YOU', time_stamp => '[Mon Oct 13 00:42:36 2003] ', slayee => 'A Bloodguard crypt sentry', }; comments: none
- SKILL_UP
-
input line: [Mon Oct 13 00:42:36 2003] You have become better at Abjuration! (222) output hash ref: { line_type => 'SKILL_UP', time_stamp => '[Mon Oct 13 00:42:36 2003] ', skill_upped => 'Abjuration', skill_value => '222', }; comments: none
- SLAIN_BY_OTHER
-
input line: [Mon Oct 13 00:42:36 2003] a Bloodguard crypt sentry has been slain by Soandso! output hash ref: { line_type => 'SLAIN_BY_OTHER', time_stamp => '[Mon Oct 13 00:42:36 2003] ', slayee => 'A Bloodguard crypt sentry', slayer => 'Soandso', }; comments: none
- CORPSE_MONEY
-
input line: [Mon Oct 13 00:42:36 2003] You receive 67 platinum, 16 gold, 20 silver and 36 copper from the corpse. output hash ref: { line_type => 'CORPSE_MONEY', time_stamp => '[Mon Oct 13 00:42:36 2003] ', platinum => '67', gold => '16', silver => '20', copper => '36', value => 68.8360, }; comments: none
- DAMAGE_SHIELD
-
input line: [Mon Oct 13 00:42:36 2003] a Bloodguard crypt sentry was hit by non-melee for 8 points of damage. output hash ref: { line_type => 'DAMAGE_SHIELD', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attacker => 'A Bloodguard crypt sentry', amount => '8', }; comments: none
- DIRECT_DAMAGE
-
input line: [Mon Oct 13 00:42:36 2003] Soandso hit a Bloodguard crypt sentry for 300 points of non-melee damage. output hash ref: { line_type => 'DIRECT_DAMAGE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attacker => 'Soandso', attackee => 'A Bloodguard crypt sentry', amount => '300', }; comments: none
- DAMAGE_OVER_TIME
-
input line: [Mon Oct 13 00:42:36 2003] A Bloodguard crypt sentry has taken 3 damage from your Flame Lick. output hash ref: { line_type => 'DAMAGE_OVER_TIME', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attackee => 'A Bloodguard crypt sentry', amount => '3', spell => 'Flame Lick', }; comments: none
- LOOT_ITEM
-
input line: [Mon Oct 13 00:42:36 2003] --You have looted a Flawed Green Shard of Might.-- output hash ref: { line_type => 'LOOT_ITEM', time_stamp => '[Mon Oct 13 00:42:36 2003] ', looter => 'You', item => 'Flawed Green Shard of Might', }; input line: [Mon Oct 13 00:42:36 2003] --Soandso has looted a Tears of Prexus.-- output hash ref: { line_type => 'LOOT_ITEM', time_stamp => '[Mon Oct 13 00:42:36 2003] ', looter => 'Soandso', item => 'Tears of Prexus', }; comments: none
- BUY_ITEM
-
input line: [Mon Oct 13 00:42:36 2003] You give 1 gold 2 silver 5 copper to Cavalier Aodus. output hash ref: { line_type => 'BUY_ITEM', time_stamp => '[Mon Oct 13 00:42:36 2003] ', platinum => 0, gold => '1', silver => '2', copper => '4', value => 0.124, merchant => 'Cavalier Aodus', }; comments: none
- ENTERED_ZONE
-
input line: [Mon Oct 13 00:42:36 2003] You have entered The Greater Faydark. output hash ref: { line_type => 'ENTERED_ZONE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', zone => 'The Greater Faydark', }; comments: none
- SELL_ITEM
-
input line: [Mon Oct 13 00:42:36 2003] You receive 120 platinum from Magus Delin for the Fire Emerald Ring(s). output hash ref: { line_type => 'SELL_ITEM', time_stamp => '[Mon Oct 13 00:42:36 2003] ', platinum => '120', gold => 0, silver => 0, copper => 0, value => 120.000, merchant => 'Magus Delin', item => 'Fire Emerald Ring', }; comments: none
- SPLIT_MONEY
-
input line: [Mon Oct 13 00:42:36 2003] You receive 163 platinum, 30 gold, 25 silver and 33 copper as your split. output hash ref: { line_type => 'SPLIT_MONEY', time_stamp => '[Mon Oct 13 00:42:36 2003] ', platinum => '163', gold => '30', silver => '25', copper => '33', value => 166.2830, }; comments: none
- YOU_SLAIN
-
input line: [Mon Oct 13 00:42:36 2003] You have been slain by a Bloodguard crypt sentry! output hash ref: { line_type => 'YOU_SLAIN', time_stamp => '[Mon Oct 13 00:42:36 2003] ', slayer => 'A Bloodguard crypt sentry', }; comments: none
- TRACKING_MOB
-
input line: [Mon Oct 13 00:42:36 2003] You begin tracking a Bloodguard crypt sentry. output hash ref: { line_type => 'TRACKING_MOB', time_stamp => '[Mon Oct 13 00:42:36 2003] ', trackee => 'A Bloodguard crypt sentry', }; comments: none
- YOU_CAST
-
input line: [Mon Oct 13 00:42:36 2003] You begin casting Ensnaring Roots. output hash ref: { line_type => 'YOU_CAST', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spell => 'Ensnaring Roots', }; comments: none
- SPELL_RESISTED
-
input line: [Mon Oct 13 00:42:36 2003] Your target resisted the Ensnaring Roots spell. output hash ref: { line_type => 'SPELL_RESISTED', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spell => 'Ensnaring Roots', }; comments: none
- FORGET_SPELL
-
input line: [Mon Oct 13 00:42:36 2003] You forget Ensnaring Roots. output hash ref: { line_type => 'FORGET_SPELL', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spell => 'Ensnaring Roots', }; comments: none
- MEMORIZE_SPELL
-
input line: [Mon Oct 13 00:42:36 2003] You have finished memorizing Ensnaring Roots. output hash ref: { line_type => 'MEMORIZE_SPELL', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spell => 'Ensnaring Roots', }; comments: none
- YOU_FIZZLE
-
input line: [Mon Oct 13 00:42:36 2003] Your spell fizzles! output hash ref: { line_type => 'YOU_FIZZLE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', }; comments: none
- LOCATION
-
input line: [Mon Oct 13 00:42:36 2003] Your Location is -63.20, 3846.55, -42.76 output hash ref: { line_type => 'LOCATION', time_stamp => '[Mon Oct 13 00:42:36 2003] ', coord_1 => '-63.20', coord_2 => '3846.55', coord_3 => '-42.76', }; comments: none
- YOU_SAY
-
input line: [Mon Oct 13 00:42:36 2003] You say, 'thanks!' output hash ref: { line_type => 'YOU_SAY', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spoken => 'thanks!', }; comments: none
- YOU_OOC
-
input line: [Mon Oct 13 00:42:36 2003] You say out of character, 'one potato, two potato' output hash ref: { line_type => 'YOU_OOC', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spoken => 'one potato, two potato', }; comments: none
- YOU_SHOUT
-
input line: [Mon Oct 13 00:42:36 2003] You shout, 'one potato, two potato' output hash ref: { line_type => 'YOU_SHOUT', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spoken => 'one potato, two potato', }; comments: none
- YOU_AUCTION
-
input line: [Mon Oct 13 00:42:36 2003] You auction, 'one potato, two potato' output hash ref: { line_type => 'YOU_AUCTION', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spoken => 'one potato, two potato', }; comments: none
- OTHER_SAYS
-
input line: [Mon Oct 13 00:42:36 2003] Soandso says, 'I aim to please :)' output hash ref: { line_type => 'OTHER_SAYS', time_stamp => '[Mon Oct 13 00:42:36 2003] ', speaker => 'Soandso', spoken => 'I aim to please :)', }; comments: none
- YOU_TELL_OTHER
-
input line: [Mon Oct 13 00:42:36 2003] You told Soandso, 'lol, i was waiting for that =)' output hash ref: { line_type => 'YOU_TELL_OTHER', time_stamp => '[Mon Oct 13 00:42:36 2003] ', speakee => 'Soandso', spoken => 'lol, i was waiting for that =)', }; comments: none
- MERCHANT_TELLS_YOU
-
input line: [Mon Oct 13 00:42:36 2003] Magus Delin tells you, 'I'll give you 3 gold 6 silver per Geode' output hash ref: { line_type => 'MERCHANT_TELLS_YOU', time_stamp => '[Mon Oct 13 00:42:36 2003] ', platinum => 0, gold => '3', silver => '6', copper => 0, value => 0.360, merchant => 'Magus Delin', item => 'Geode', }; comments: none
- MERCHANT_PRICE
-
input line: [Mon Oct 13 00:42:36 2003] Gaelsori Heriseron tells you, 'That'll be 1 platinum 2 gold 5 silver 9 copper for the Leather Wristbands.' output hash ref: { line_type => 'MERCHANT_PRICE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', platinum => '1', gold => '2', silver => '5', copper => '9', value => 1.259, merchant => 'Gaelsori Heriseron', item => 'Leather Wristbands', }; comments: none
- OTHER_TELLS_YOU
-
input line: [Mon Oct 13 00:42:36 2003] Soandso tells you, 'hows the adv?' output hash ref: { line_type => 'OTHER_TELLS_YOU', time_stamp => '[Mon Oct 13 00:42:36 2003] ', speaker => 'Soandso', spoken => 'hows the adv?', }; comments: none
- YOU_TELL_GROUP
-
input line: [Mon Oct 13 00:42:36 2003] You tell your party, 'will keep an eye out' output hash ref: { line_type => 'YOU_TELL_GROUP', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spoken => 'will keep an eye out', }; comments: none
- OTHER_TELLS_GROUP
-
input line: [Mon Oct 13 00:42:36 2003] Soandso tells the group, 'Didnt know that, thanks info' output hash ref: { line_type => 'OTHER_TELLS_GROUP', time_stamp => '[Mon Oct 13 00:42:36 2003] ', speaker => 'Soandso', spoken => 'Didnt know that, thanks info', }; comments: none
- OTHER_CASTS
-
input line: [Mon Oct 13 00:42:36 2003] Soandso begins to cast a spell. output hash ref: { line_type => 'OTHER_CASTS', time_stamp => '[Mon Oct 13 00:42:36 2003] ', caster => 'Soandso', }; comments: none
- CRITICAL_DAMAGE
-
input line: [Mon Oct 13 00:42:36 2003] Soandso scores a critical hit! (126) output hash ref: { line_type => 'CRITICAL_DAMAGE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attacker => 'Soandso', type => 'hit', amount => '126', }; input line: [Mon Oct 13 00:42:36 2003] Soandso delivers a critical blast! (3526) output hash ref: { line_type => 'CRITICAL_DAMAGE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', attacker => 'Soandso', type => 'blast', amount => '3526', }; comments: none
- PLAYER_HEALED
-
input line: [Mon Oct 13 00:42:36 2003] Soandso has healed you for 456 points of damage. output hash ref: { line_type => 'PLAYER_HEALED', time_stamp => '[Mon Oct 13 00:42:36 2003] ', healer => 'Soandso', healee => 'you', amount => '456', }; comments: none
- SAYS_OOC
-
input line: [Mon Oct 13 00:42:36 2003] Soandso says out of character, 'Stop following me :oP' output hash ref: { line_type => 'SAYS_OOC', time_stamp => '[Mon Oct 13 00:42:36 2003] ', speaker => 'Soandso', spoken => 'Stop following me :oP', }; comments: none
- OTHER_AUCTIONS
-
input line: [Mon Oct 13 00:42:36 2003] Soandso auctions, 'WMBS - 4k OBO' output hash ref: { line_type => 'OTHER_AUCTIONS', time_stamp => '[Mon Oct 13 00:42:36 2003] ', speaker => 'Soandso', spoken => 'WMBS - 4k OBO', }; comments: none
- OTHER_SHOUTS
-
input line: [Mon Oct 13 00:42:36 2003] Soandso shouts, 'talk to vual stoutest' output hash ref: { line_type => 'OTHER_SHOUTS', time_stamp => '[Mon Oct 13 00:42:36 2003] ', speaker => 'Soandso', spoken => 'talk to vual stoutest', }; comments: none
- PLAYER_LISTING
-
input line: [Mon Oct 13 00:42:36 2003] [56 Outrider] Soandso (Half Elf) <The Foobles> output hash ref: { line_type => 'PLAYER_LISTING', time_stamp => '[Mon Oct 13 00:42:36 2003] ', afk => '', linkdead => '', anon => '', level => '56', class => 'Outrider', name => 'Soandso', race => 'Half Elf', guild => 'The Foobles', zone => '', lfg => '', }; input line: [Mon Oct 13 00:42:36 2003] [65 Deceiver] Soandso (Barbarian) <The Foobles> ZONE: potranquility output hash ref: { line_type => 'PLAYER_LISTING', time_stamp => '[Mon Oct 13 00:42:36 2003] ', afk => '', linkdead => '', anon => '', level => '65', class => 'Deceiver', name => 'Soandso', race => 'Barbarian', guild => 'The Foobles', zone => 'potranquility', lfg => '', }; comments: none
- YOUR_SPELL_WEARS_OFF
-
input line: [Mon Oct 13 00:42:36 2003] Your Flame Lick spell has worn off. output hash ref: { line_type => 'YOUR_SPELL_WEARS_OFF', time_stamp => '[Mon Oct 13 00:42:36 2003] ', spell => 'Flame Lick', }; comments: none
- WIN_ADVENTURE
-
input line: [Mon Oct 13 00:42:36 2003] You have successfully completed your adventure. You received 22 adventure points. You have 30 minutes to exit this zone. output hash ref: { line_type => 'WIN_ADVENTURE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', amount => '22', }; comments: none
- SPEND_ADVENTURE_POINTS
-
input line: [Mon Oct 13 00:42:36 2003] You have spent 40 adventure points. output hash ref: { line_type => 'SPEND_ADVENTURE_POINTS', time_stamp => '[Mon Oct 13 00:42:36 2003] ', amount => '40', }; comments: none
- GAIN_EXPERIENCE
-
input line: [Mon Oct 13 00:42:36 2003] You gain party experience!! output hash ref: { line_type => 'GAIN_EXPERIENCE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', gainer => 'party', }; input line: [Mon Oct 13 00:42:36 2003] You gain experience!! output hash ref: { line_type => 'GAIN_EXPERIENCE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', gainer => '', }; comments: none
- GAME_TIME
-
input line: [Mon Oct 13 00:42:36 2003] Game Time: Thursday, April 05, 3176 - 6 PM output hash ref: { line_type => 'GAME_TIME', time_stamp => '[Mon Oct 13 00:42:36 2003] ', time => 'Game Time: Thursday, April 05, 3176 - 6 PM', }; comments: none
- EARTH_TIME
-
input line: [Mon Oct 13 00:42:36 2003] Earth Time: Thursday, April 05, 2003 19:25:47 output hash ref: { line_type => 'EARTH_TIME', time_stamp => '[Mon Oct 13 00:42:36 2003] ', time => 'Earth Time: Thursday, April 05, 2003 19:25:47', }; comments: none
- MAGIC_DIE
-
input line: [Mon Oct 13 00:42:36 2003] **A Magic Die is rolled by Soandso. output hash ref: { line_type => 'MAGIC_DIE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', roller => 'Soandso', }; comments: none
- ROLL_RESULT
-
input line: [Mon Oct 13 00:42:36 2003] **It could have been any number from 0 to 550, but this time it turned up a 492. output hash ref: { line_type => 'ROLL_RESULT', time_stamp => '[Mon Oct 13 00:42:36 2003] ', min => '0', max => '550', amount => '492', }; comments: none
- BEGIN_MEMORIZE_SPELL
-
input line: [Mon Oct 13 00:42:36 2003] Beginning to memorize Call of Sky... output hash ref: { line_type => 'BEGIN_MEMORIZE_SPELL', time_stamp => '[Mon Oct 13 00:42:36 2003] ', min => '0', max => '550', amount => '492', }; comments: none
- SPELL_INTERRUPTED
-
input line: [Mon Oct 13 00:42:36 2003] a Bloodguard caretaker's casting is interrupted! output hash ref: { line_type => 'SPELL_INTERRUPTED', time_stamp => '[Mon Oct 13 00:42:36 2003] ', caster => 'a Bloodguard caretaker', }; input line: [Mon Oct 13 00:42:36 2003] Your spell is interrupted. output hash ref: { line_type => 'SPELL_INTERRUPTED', time_stamp => '[Mon Oct 13 00:42:36 2003] ', caster => 'You', }; comments: none
- SPELL_NO_HOLD
-
input line: [Mon Oct 13 00:42:36 2003] Your spell would not have taken hold on your target. output hash ref: { line_type => 'SPELL_NO_HOLD', time_stamp => '[Mon Oct 13 00:42:36 2003] ', }; comments: none
- LEVEL_GAIN
-
input line: [Mon Oct 13 00:42:36 2003] You have gained a level! Welcome to level 42! output hash ref: { line_type => 'LEVEL_GAIN', time_stamp => '[Mon Oct 13 00:42:36 2003] ', level => '42', }; comments: none
- BAZAAR_TRADER_MODE
-
input line: [Mon Oct 13 00:42:36 2003] Bazaar Trader Mode *ON* output hash ref: { line_type => 'BAZAAR_TRADER_MODE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', status => 1, }; comments: status will be '0' for OFF, and '1' for ON.
- BAZAAR_TRADER_PRICE
-
input line: [Mon Oct 13 00:42:36 2003] 18.) Bone Chips (Price 2g 5s). output hash ref: { line_type => 'BAZAAR_TRADER_PRICE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', item => 'Bone Chips', platinum => '0', gold => '2', silver => '5', copper => '0', value => 0.250, }; comments: none
- BAZAAR_SALE
-
input line: [Mon Oct 13 00:42:36 2003] Letsmekkadyl purchased 17 Bone Chips for ( 3p 2g 3s). output hash ref: { line_type => 'BAZAAR_SALE', time_stamp => '[Mon Oct 13 00:42:36 2003] ', buyer => 'Letsmekkadyl', item => 'Leather Wristbands', quantity => 17, platinum => '3', gold => '2', silver => '3', copper => '0', value => 3.230, }; comments: none
AUTHOR
Dan Boorstein, <danboo@cpan.org>
Mainted by Paul Fenwick, <pjf@cpan.org>
BUGS
I imagine the primary source of faults in this module will be in which line types it understands, and how well it can distinguish them. If you come across lines in you log files that I haven't handled (see eqlog_unrecognized_lines.pl), or that are handled incorrectly, please send the line to me, with an explanation of why it was not parsed in accordance with your expectations. If you're up to it, a patch (test suite too please) for handling the offending line would be great.
TO DO
- - add unrecognized yet useful lines
-
MOTD, GUILD_MOTD, BEGIN_MEMORIZE
- - optimize ordering of @line_types