AddressBook
view release on metacpan or search on metacpan
lib/AddressBook/DB/DBI.pm view on Meta::CPAN
}
if(defined $self->{dsn}) {
($self->{dbi_driver},$self->{dsn}) = split (':',$self->{dsn});
my $dbh = DBI->connect("dbi:" . $self->{dbi_driver} . ":" . $self->{dsn})
|| croak $self->{dbh}->errstr;
$self->{dbh} = $dbh;
}
if (! defined $self->{intra_attr_sep_char}) {
$self->{intra_attr_sep_char} = ';';
}
$self->_verify_table;
return $self;
}
sub _verify_table {
my $self = shift;
my $class = ref $self || croak "Not a method call";
if ($self->{dbi_driver} eq "CSV") {
my @tables = $self->{dbh}->func('list_tables');
my $found = 0;
foreach (@tables) {
if ($_ eq $self->{table}) {
$found=1;
last;
}
}
if (! $found) {croak "table \"$self->{table}\" does not exist"}
} else {
croak "Cannot verify table";
}
}
sub DESTROY {
my $self = shift;
my $class = ref $self || croak "Not a method call";
$self->{dbh}->disconnect;
}
( run in 0.768 second using v1.01-cache-2.11-cpan-5467b0d2c73 )