Perl 学习笔记-模块

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-1
foreach 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();

 

posted @ 2015-05-29 09:54  roger9567  阅读(206)  评论(0编辑  收藏  举报