我不在学校或任何东西,但我有这个例子测试,我想完成。我不是100%确定从哪里开始的(正如我所说的,我对Perl完全陌生,但真的很想进入它)。简单的Perl脚本(总Perl Noob,刚刚开始)
给定一个表 '邮寄':
CREATE TABLE mailing (
addr VARCHAR(255) NOT NULL
);
邮件表最初是空的。新地址将每天添加。预计该表格将存储至少10,000,000个电子邮件地址和100,000个域名。
编写一个perl脚本,该脚本更新另一个表,该表包含通过其域名保持每日电子邮件地址数的另一个表。
使用此表根据过去30天的百分比增长计数排序的前50个域名与总数进行比较。
注意 - 必须使用所提供的DB.pm
所有数据库的交互,并且因为它是你必须使用它(DB.pm不能除了连接设置进行修改)。
不应修改原始邮件表。
所有的处理必须在Perl来完成(如没有复杂的查询或子查询)
这里是DB.pm
package GUI::DB;
use strict;
use DBI;
use vars qw(@ISA @EXPORT);
use Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(dbConnect query);
#
# dbConnect - connect to the database, get the database handle
#
sub dbConnect {
# Read database settings from config file:
my $dsn = "DBI:mysql:database=test";
my $dbh = DBI->connect($dsn,
'',
'',
{ RaiseError => 1 }
);
return $dbh;
}
#
# query - execute a query with parameters
# query($dbh, $sql, @bindValues)
#
sub query {
my $dbh = shift;
my $sql = shift;
my @bindValues = @_; # 0 or several parameters
my @returnData =();
# issue query
my $sth = $dbh->prepare($sql);
if (@bindValues) {
$sth->execute(@bindValues);
} else {
$sth->execute();
}
if ($sql =~ m/^select/i) {
while (my $row = $sth->fetchrow_hashref) {
push @returnData, $row;
}
}
# finish the sql statement
$sth->finish();
return @returnData;
}
__END__
我用PHP和工作的乐趣像这样的东西,但Perl只是在那里为我。
它会用于垃圾邮件:)? – 2011-05-28 16:32:06
什么是DB.pm?你的意思是Perl的DBI? – 2011-05-28 16:33:54
另外我不认为有人会为你编写一个程序,显示你到目前为止已经出现的问题以及你的问题,然后人们可能会提供帮助。 – 2011-05-28 16:34:45