#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";