Perl连接MySQL需要安装Perl的DBI和DBD:mysql模块。
记录一下连接MySQL的脚本,供以后参考:
#!/bin/env perluse strict;use warnings;use DBI;# -------------------------------------------------------------------# Func : Main()# -------------------------------------------------------------------my $user = "root";my $passwd = "";my $host = "10.254.5.151";my $db = "test";my $port = 3306;# connect databasemy $dbh = &connet_mysql($host,$port,$db,$user,$passwd);# execute sqlmy $sql = qq{select * from tmp_zx limit 10};my $sth = &execute_sql($dbh,$sql);# get sql resultwhile ( my $result_ref = $sth->fetchrow_hashref() ) {my $delim = "";foreach ( keys %{$result_ref} ) {print $delim,$_,"=",$result_ref->{$_};$delim = " , ";}print "\n";}# end sql$sth->finish();# disconnect from database$dbh->disconnect();# -------------------------------------------------------------------# Func : Connect Database# Sample :# &connet_mysql($host,$port,$db,$user,$passwd);# -------------------------------------------------------------------sub connet_mysql {# setup database connection variablesmy ($host,$port,$db,$user,$passwd) = @_;my $driver = "mysql";# connect to databasemy $dsn = "DBI:$driver:database=$db;host=$host;port=$port";my $mysql_dbh = DBI->connect($dsn,$user,$passwd) or die "Connect to mysql database error:". DBI->errstr;$mysql_dbh->{AutoCommit} = 0;$mysql_dbh->{RaiseError} = 1;$mysql_dbh->{PrintError} = 1;$mysql_dbh->do("set names gbk");return $mysql_dbh;}# -------------------------------------------------------------------# Func : Execute SQL# Sample :# &execute_sql($dbh,$sql);# -------------------------------------------------------------------sub execute_sql {my ($dbh, $sql) = @_;my $sth = $dbh->prepare($sql);$sth->execute();return $sth;}
【附】Perl的引用:http://search.cpan.org/~nwclark/perl-5.8.6/pod/perlreftut.pod
--EOF--