in reply to sorting mysql by week and year

You don't have to worry about how you store the date. Leave the sorting up to the DB when you retrieve the data that you need. What is the 'time' column in the searches table, an Integer, a DATETIME, TIME, DATE? If its a a DATETIME field then this should do the trick
my $query = qw/INSERT INTO searches (search, engine, time) values (?,? +,NOW())/; $sth = $dbh->prepare($query); $sth->execute($search, $engine);
To retrieve these:
my $sth = $dbh->prepare (<<EOSQL); SELECT search, engine, DATE_FORMAT(time, "%W the %D of %M, at %r") as +formatted_date from searches EOSQL $sth->execute;
This will return formatted_date as "Thursday the 10th of August, at 16:45 PM" You should probably check out the date/time functions page on the MySQL web site.