本篇内容主要讲解“Perl怎么连接数据库mysql”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Perl怎么连接数据库mysql”吧!

一、命令行参数

1.1 代码

#!/usr/bin/envperluseGetopt::Long;useData::Dumper;usePod::Usage;my$Debug=1;subdprint(@){returnunless$Debug;chomp(my@m=@_);printSTDERR'DEBUG:',join("",@m),"\n";}MAIN:{my$db_user;my$db_pass;GetOptions(\my%opt,'debug|d+'=>\$Debug,'help|h|?'=>sub{pod2usage(-verbose=>1)},'db_user|u=s'=>\$db_user,'db_pass|x=s'=>\$db_pass,)orpod2usage();pod2usage(-message=>"mustrequiresdb_user,db_pass!")unless$db_user&&$db_pass;dprint"db_user:$db_user";dprint"db_pass:$db_pass";}

1.2 使用

命令:“--” 或 “-”

./test.pl --db_user testuser --db_pass testpass
./test.pl --u testuser --x testpass

二、连接数据库mysql

2.1 代码

#!/usr/bin/envperluseDBI;MAIN:{my$dbh=DBI->connect("DBI:mysql:clouxns:202.85.222.121:3306","root","zxc1758!&%*");$query_sql="SELECTzone_id,zone_nameFROMxns_zone";$query_sth=$dbh->prepare($query_sql);$query_sth->execute()ordie"can'trunquerysql:$dbh->errstr";while(my@data=$query_sth->fetchrow_array()){my$zone_id=$data[0];my$zone_name=$data[1];print"$zone_id\t$zone_name\n";}$dbh->disconnect();}

三、DNS查询

dns查询A记录、NS、SOA。

#!/usr/bin/envperluseNet::DNS::Resolver;useNet::DNS::Packet;MAIN:{my$resolver=Net::DNS::Resolver->new;#Findahost'saddressmy$query=$resolver->search("www.guowenyan.cn");if($query){foreachmy$rr(grep{$_->typeeq"A"}$query->answer){print$rr->address,"\n";}}else{warn"queryfailed:",$resolver->errorstring,"\n";}#Findthenameserversforadomain.my$query=$resolver->search("baidu.com","NS");if($query){foreachmy$rr(grep{$_->typeeq"NS"}$query->answer){print$rr->nsdname,"\n";}}else{warn"queryfailed:",$resolver->errorstring,"\n";}#Findadomain'sSOArecordinzonefileformat.my$query=$resolver->search("baidu.com","SOA");if($query){($query->answer)[0]->print;}else{warn"queryfailed:",$resolver->errorstring,"\n";}}

四、发送邮件

4.1 代码

#!/usr/bin/envperluseNet::SMTP;subsend_mail(){my@mail_to=('480160531@qq.com','2135361204@qq.com');my$mail_from='kan_haha001@163.com';my$mail_pass="123zxc";my$mail_message="aanbb";my$smtp=Net::SMTP->new("smtp.163.com");$smtp->auth($mail_from,$mail_pass)||die"AuthError!$!";foreachmy$mail_to(@mail_to){$smtp->mail($mail_from);$smtp->to($mail_to);#Startthemail$smtp->data();#Sendtheheader$smtp->datasend("From:$mail_from\n");$smtp->datasend("To:$mail_to\n");$smtp->datasend("Subject:themailissendedbyperl.\n");$smtp->datasend("\n");#sendthemessage$smtp->datasend("$mail_message\n");#sendtheterminationstring$smtp->dataend();}$smtp->quit();}

4.2 注意事项

1. 需要安装Authen::SASL:perl -MCPAN -e shell cpan>install Authen::SASL。

2. 发件人、收件人必须是单引号('kan_haha001.163.com')。

3. 邮件头中的发件人、收件人、主题、正文的前后都必须有\n。(否则会系统退信)

到此,相信大家对“Perl怎么连接数据库mysql”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!