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


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

Your language is a bit unclear, so I apologize if the following is off point. I think the key collision is resulting from you wanting to store multiple records at once. Given that you have a fixed number of fields per record, comma delimited, you should be able to just process one record at a time. If you want to deal with them all at once, an array of hashes (perllol) really is the only logical data structure. The thing that strikes me as most odd with the provided log file is that it uses the same delimiter for fields and records. Assuming you have the entire logfile read into $string, the following should be a decent prototype for what you want to do.

while ($string) { my @array = split /\,/, $string, 34; my %hash = (Date => @array[0..32]); store_in_db(%hash); if (defined $array[33]) { $string = $array[33]; } else { undef $string } }