use App::Class; # Import::Into class App::DB { use Data::Printer; use DBIx::Simple; use File::Slurper 'read_text'; field $cfg :reader :param; # mandatory field $dbix :reader = DBIx::Simple->connect( 'dbi:SQLite:dbname='.$cfg->{dbname} ); ADJUST { # p $cfg->{db_init}, as => "db_init file:"; my $dbi_trace_level = $ENV{DBI_TRACE} || 0; $dbix->dbh->trace('SQL|'.$dbi_trace_level); # init db if 1st run (creates db also if not exists) my $schema = read_text( $cfg->{db_init} ); # p $sql; $dbix->dbh->do($schema); } # timestamp is GMT, needs to be converted to local timezone: my $cols = q!id, title, keywords, content, DATETIME(time, 'localtime') ! . 'as time'; method find_user ($username) { # p $dbh->{Name}; p $username; my $user = $dbix->select('users', '*', { username => $username })->hash; # p $user; return $user; } }