Я внедряю простой сервис обмена файлами. В настоящее время я использую файловую базу данных (так как она соответствует моим потребностям).
# somewhere in my cgi script
sub first_run
{
my $dbh = DBI->connect('dbi:DBM:');
$dbh = DBI->connect("dbi:DBM:", "", "",{ AutoCommit => 1, RaiseError => 1, f_dir=>$DATABASE_DIR} );
unless ($dbh)
{
print "<br>Cannot connect: $DBI::errstr";
return undef;
}
$dbh->do("CREATE TABLE uploads( user_name TEXT,
file_name TEXT,
upload_date TEXT ) ");
$dbh->disconnect( );
}
Как вы можете видеть, я предлагаю сохранить метку времени загрузки в виде строки, поскольку в настоящее время мне нужно только отображать ее (предположим, что для получения метки времени в удобочитаемом формате используется локальное время ()).
Но это мне кажется несколько плохим. Что если позже я захочу показать загрузки за определенный период и т. Д.
Каков общий способ хранения временных меток в базе данных DBM без использования сторонних модулей CPAN? Как я могу вытащить их позже и показать их пользователю (в моем случае конвертировать обратно в строку)?