⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbi.pm

📁 AI::Categorizer is a framework for automatic text categorization. It consists of a collection of Per
💻 PM
字号:
package AI::Categorizer::Collection::DBI;use strict;use DBI;use AI::Categorizer::Collection;use base qw(AI::Categorizer::Collection);use Params::Validate qw(:types);__PACKAGE__->valid_params  (   connection_string => {type => SCALAR, default => undef},   dbh => {isa => 'DBI::db', default => undef},   select_statement => {type => SCALAR, default => "SELECT text FROM documents"},  );__PACKAGE__->contained_objects  (   document => { class => 'AI::Categorizer::Document',		 delayed => 1 },  );sub new {  my $class = shift;  my $self = $class->SUPER::new(@_);    die "Must provide 'dbh' or 'connection_string' arguments"    unless $self->{dbh} or $self->{connection_string};    unless ($self->{dbh}) {    $self->{dbh} = DBI->connect($self->{connection_string}, '', '', {RaiseError => 1})      or die DBI->errstr;    delete $self->{connection_string};  }    $self->rewind;  return $self;}sub dbh { shift()->{dbh} }sub rewind {  my $self = shift;    if (!$self->{sth}) {    $self->{sth} = $self->dbh->prepare($self->{select_statement});  }  if ($self->{sth}{Active}) {    $self->{sth}->finish;  }  $self->{sth}->execute;}sub next {  my $self = shift;  my @result = $self->{sth}->fetchrow_array;  return undef unless @result;    return $self->create_delayed_object('document',				      name => $result[0],				      categories => [$result[1]],				      content => $result[2],				     );}1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -