#create Session table. $sql_line = "create table Session (...date DATETIME NOT NULL, ... )"; #create Order table. $sql_line = "create table Orders (...order_date DATE NOT NULL, ...)"; #### ### This is useful for converting epoch seconds use Time::localtime; ### This is useful for converting strings to useable time formats ### (installation did not work as advertised, however!) use Date::Manip; sub SA2_getDate { my ($line); my ($fieldvalue); my ($fieldname); $line = $_; ($fieldname,$fieldvalue) = split(/:\s\s*/, $line); chomp ($fieldvalue); ###string received in format like: 991751732 OR Tue Jun 05 2001 ($fieldvalue) = split(/\sOR\s/, $fieldvalue); $fieldvalue =~ s/(^\d*)\s*/$1/; $fieldvalue = localtime($fieldvalue); #convert from epoch seconds. my $formatteddate = sprintf ("%04d%02d%02d %02d:%02d:%02d ", $fieldvalue->year+1900, $fieldvalue->mon+1, $fieldvalue->mday, $fieldvalue->hour, $fieldvalue->min, $fieldvalue->sec); #make into format required by mySQL if ($session{$currentsession}[0] eq '') { $session{$currentsession}[0] = $formatteddate; } } sub SA8_getOrderDate { my ($line); my ($fieldvalue); my ($fieldname); $line = $_; ###string received in format like: Tue Jun 5 14:59:46 2001 ($fieldname,$fieldvalue) = split(/:\s\s*/, $line); chomp ($fieldvalue); my $formatteddate = ParseDate ($fieldvalue); #Courtesy Date::Manip $formatteddate =~ s/\d\d:\d\d:\d\d$//;#don't need the seconds if ($session{$currentsession}[6] eq '') { $session{$currentsession}[6] = $formatteddate; } } #### ###stuff from the hash can now be inserted, as is, into mySQL print SQL "insert into Orders (..., order_date,...)"; print SQL "values (...,'$order_date', ...);\n";