if it's just a partial truncation, you can just do it directly (no perl) from cron with the mysql cmdline utility. I don't know the syntax offhand so i'll use postgres as an example cron entry:
0 1 * * * psql -U username dbname -c "delete from yourtable where now(
+) - logdate > 8"
As for how to whack logs, you might consider just dumping last week's to a temp table.. or maybe dump to disk before you delete .. depends on your needs/resources (disk space).
Also, if there needs to be more logic involved, SQL::Abstract
could be big assests for the task.