#!/usr/bin/perl -- use strict; use warnings; use DBI; use DBD::SQLite; use Data::Dumper; { my $dbh = DBI->connect( 'dbi:SQLite:dbname=test.sqlite', undef, undef, { RaiseError => 1, PrintError => 1, }, ); eval { $dbh->do('CREATE TABLE evkeypairs (id INTEGER PRIMARY KEY NOT NULL,key TEXT,value TEXT);'); $dbh->do(q!INSERT INTO evkeypairs (key, value) VALUES ('foo','bar');!); $dbh->do(q!INSERT INTO evkeypairs (key, value) VALUES ('kung','foo');!); } or warn "$@"; print Dumper( $dbh->selectall_hashref('select * from evkeypairs ', [ 'id','key']) ),"\n"; print Dumper( $dbh->selectall_hashref('select * from evkeypairs ', 'id') ),"\n"; $dbh->disconnect; use autodie qw' unlink '; unlink 'test.sqlite'; } __END__ $VAR1 = { '1' => { 'foo' => { 'value' => 'bar', 'id' => '1', 'key' => 'foo' } }, '2' => { 'kung' => { 'value' => 'foo', 'id' => '2', 'key' => 'kung' } } }; $VAR1 = { '1' => { 'value' => 'bar', 'id' => '1', 'key' => 'foo' }, '2' => { 'value' => 'foo', 'id' => '2', 'key' => 'kung' } };