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


-->

Perl 学习笔记-模块的更多相关文章

  1. perl学习笔记之:模式匹配,模块,文档

    Perl语言的最大特点,也是Perl作为CGI首选语言的最大特点,是它的模式匹配操作符.Perl语言的强大的文本处理能力正是通过其内嵌的对模式匹配的支持体现的.模式通过创建正则表达式实现.Perl的正 ...

  2. Perl 学习笔记-标量数据

    最近学习Perl, 准备看一遍入门指南,关键的东西还是记录下来,以便以后复习和查看参考. 笔记来自<<Perl语言入门第5版>> 1. 在Perl内部,不区分整数值和浮点数值, ...

  3. linux内核设计与实现学习笔记-模块

    模块 1.概念:  如果让LINUX Kernel单独运行在一个保护区域,那么LINUX Kernel就成为了“单内核”.    LINUX Kernel是组件模式的,所谓组件模式是指:LINUX K ...

  4. perl学习笔记(4)——动态加载

    在写perl的时候,如果要应用到各种平台的话,比如linux 和windows,会遇到各种问题,有时就是要根据系统类型来加载各种库,之前写的就是这样的, if($^O eq 'linux'){ use ...

  5. 【Perl学习笔记】1.perl的ref 函数

    perl有引用的概念:一组数据实际上是另一组数据的引用.这些引用称为指针,第一组数据中存放的是第二组数据的头地址.引用的方式被用得相当普遍,特别是在面向对象的模块.函数的参数传递等常见.但perl对每 ...

  6. Perl 学习笔记-目标操作

    1.在目录树中移动. 程序运行时会以当前工作目录作为相对路径的起点, 可以使用  chdir 操作符改变当前目录: chdir "/etc" or die "Can't ...

  7. Perl 学习笔记-高级控制结构

    1.unless控制结构 类似于独立的else语句; 要么条件为真, 要么执行语句块内的代码;  unless(<condition>){code...;} 等价于  if(<con ...

  8. Perl 学习笔记-列表和数组

    笔记来自<<Perl语言入门第5版>> 1. Perl中列表指标量的有序集合,数组则是存储列表的变量, 这两个术语经常混用,不过更精确地说,列表指数据,而数组指变量.数组的表示 ...

  9. perl学习笔记——目录操作

    在目录书中移动 chdir 操作副改变当前的工作目录.它和shell中cd命令类似: chdir ‘/etc’ or die “cannot chdir to /etc:$1”; 注意:工作目录不能更 ...

随机推荐

  1. Java运算符 逻辑运算符 短路运算符

    &      与 两个运算数都为真时结果为真,只要有一个运算数为假结果就为假,否则就为真. true & true = true   true & false = false ...

  2. OSGi学习-总结

    本文是osgi实战一书的前几章读书总结 1.  OSGi简介 Java缺少对高级模块化的支持,为了弥补Java在模块化方面的不足,大多数管理得当的项目都会要求建立一整套技术,包括: 适应逻辑结构的编程 ...

  3. C++Windows核心编程读书笔记

    转自:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%96%87/71405.shtml "C++Windows核心编程读书笔 ...

  4. svm算法 最通俗易懂讲解

    最近在学习svm算法,借此文章记录自己的学习过程,在学习很多处借鉴了z老师的讲义和李航的统计,若有不足的地方,请海涵:svm算法通俗的理解在二维上,就是找一分割线把两类分开,问题是如下图三条颜色都可以 ...

  5. Asp.net mvc validaterequest无效的问题

    在普通的asp.net下,可以通过在页面上注明 validateRequest=“false" 这个选项来关闭请求对注入攻击的验证,但在mvc下则不行.而且,在asp.net 4.0下,哪怕 ...

  6. C++何时使用引用

  7. 关于Floyd-Warshall算法由前趋矩阵计算出的最短路径反映出了算法的执行过程特性的证明

    引言:Floyd-Warshall算法作为经典的动态规划算法,能够在O(n3)复杂度之内计算出所有点对之间的最短路径,且由于其常数较小,对于中等规模数据运行效率依然可观.算法共使用n此迭代,n为顶点个 ...

  8. Linux系统SVN安装指导配置说明

    Linux 系统 SVN 安装指导配置说明   1 安装 SVN 前检查: 检查是否安装 SVN : rpm -qa subversion 查看安装 SVN 版本信息: svnserve --vers ...

  9. Spring实战之切面编程

    如果要重用通用功能的话,最常见的面向对象技术是继承(inheritance)或委托(delegation).但是,如果在整个应用中都使用相同的基类,继承往往会导致一个脆弱的对象体系:而使用委托可能需要 ...

  10. Rhythmk 一步一步学 JAVA(8) JUnit 使用

    1. 创建被测试类: package com.rhythmk; public class Man { public Man(){ } public void Move() { System.out.p ...