1.Perl模块介绍
2个来源, 一个是随Perl发行版本一同打包, 只要安装了Perl就可以使用; 另一种是需要从CPAN上下载,自己安装. 寻找模块之前, 先检查系统上是否已经安装过了, 比如, 在命令行下输入: perldoc CGI 就会出现文档说明, 说明已经存在CGI.pm模块了.
安装模块略过.
2.使用简单模块
use File::Basename; #在程序开头用use命令声明
use File::Basename qw/basename/; #只导入模块中的basename函数
File::Basename::basename $mypath; #加上模块全称调用
use File::Spec;use File::Basename;$old_name = "/usr/bin/perl";$dirname = dirname $old_name;$basename = basename $old_name;$new_name = File::Spec->catfile($dirname,$basename);print "$old_name\n";print "$new_name\n";rename ($old_name,$new_name) or warn "Can't rename '$old_name' to '$new_name': $!";
3. 使用CGI模块
CGI模块有两种风格: 函数接口和面向对象接口, 现在简单讨论前一种.
# 这段代码解析CGI输入, 并以纯文本的方式来显示输入字段的名称和值use CGI qw(:all); #标签写法, 标示导入全部函数print header("text/plain"); #Content-Type: text/html; charset=ISO-8859-1foreach my $param (param()){ print "$param: ".param($param)."\n";}
# 这段代码输出HTML格式结果.use CGI qw(:all);print header(), start_html("This is the page title"), h1("Input parameters");my $list_items;foreach my $param (param()){ $list_items .= li("$param: ".param($param));}
CGI模块还能处理cookie信息, 页面重定向已经多重页面表单等...
4.数据库与DBI(数据库接口)
DBI没有内置在Perl中; 不管哪种常见的数据库,都可以使用相同的接口进行操作; 支持对ODBC的驱动操作; 安装DBI之后必须安装相应的DBD(数据库驱动程序) ,可以在CPAN上搜索. DBI是面向对象模块.
use DBI;# $data_source 指定要连接的数据库信息, 以及使用哪一种DBD作底层交互, 例如对PostgreSQL,驱动器是DBD::Pg模块my $data_source = "dbi:Pg:dbname=name_of_database"; #PostgreSQL$dbh = DBI->connect($data_source, $username, $password);# 连接数据库后可以进行查询操作$sth = $dbh->prepare("SELECT * FROM foo WHERE bla");$sth->execute();@row_ary = $sth->fetchrow_array;$sth->finish;# 完成工作后断开连接$dbh->disconnect();