http://qs321.pair.com?node_id=752138


in reply to Re^6: insert label into file
in thread insert label into file

The magic numbers in my code come in because each line consists of 1 date followed 16 key-value pairs. This adds up to 33 pieces of data per record. If the string has more than these 33 pieces of information, then there must be at least one more record.

Update: You can avoid magic numbers by doing something along the lines of:

my @records = split /,\s*(?=\d{2}\/\d{2}\/\d{4}\s\d{2}\:\d{2}\:\d{2}\s +[AP]M)/, $string; foreach (@records) { my %hash = (Date => split /\,\s*/); insert_into_db(%hash); }