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();
-->
Perl 学习笔记-模块的更多相关文章
- perl学习笔记之:模式匹配,模块,文档
Perl语言的最大特点,也是Perl作为CGI首选语言的最大特点,是它的模式匹配操作符.Perl语言的强大的文本处理能力正是通过其内嵌的对模式匹配的支持体现的.模式通过创建正则表达式实现.Perl的正 ...
- Perl 学习笔记-标量数据
最近学习Perl, 准备看一遍入门指南,关键的东西还是记录下来,以便以后复习和查看参考. 笔记来自<<Perl语言入门第5版>> 1. 在Perl内部,不区分整数值和浮点数值, ...
- linux内核设计与实现学习笔记-模块
模块 1.概念: 如果让LINUX Kernel单独运行在一个保护区域,那么LINUX Kernel就成为了“单内核”. LINUX Kernel是组件模式的,所谓组件模式是指:LINUX K ...
- perl学习笔记(4)——动态加载
在写perl的时候,如果要应用到各种平台的话,比如linux 和windows,会遇到各种问题,有时就是要根据系统类型来加载各种库,之前写的就是这样的, if($^O eq 'linux'){ use ...
- 【Perl学习笔记】1.perl的ref 函数
perl有引用的概念:一组数据实际上是另一组数据的引用.这些引用称为指针,第一组数据中存放的是第二组数据的头地址.引用的方式被用得相当普遍,特别是在面向对象的模块.函数的参数传递等常见.但perl对每 ...
- Perl 学习笔记-目标操作
1.在目录树中移动. 程序运行时会以当前工作目录作为相对路径的起点, 可以使用 chdir 操作符改变当前目录: chdir "/etc" or die "Can't ...
- Perl 学习笔记-高级控制结构
1.unless控制结构 类似于独立的else语句; 要么条件为真, 要么执行语句块内的代码; unless(<condition>){code...;} 等价于 if(<con ...
- Perl 学习笔记-列表和数组
笔记来自<<Perl语言入门第5版>> 1. Perl中列表指标量的有序集合,数组则是存储列表的变量, 这两个术语经常混用,不过更精确地说,列表指数据,而数组指变量.数组的表示 ...
- perl学习笔记——目录操作
在目录书中移动 chdir 操作副改变当前的工作目录.它和shell中cd命令类似: chdir ‘/etc’ or die “cannot chdir to /etc:$1”; 注意:工作目录不能更 ...
随机推荐
- struts2学习(4)struts2核心知识III
一.result配置: result - name 就是前面返回的值,success,error等. type: dispatcher. 默认是这个,底层是jsp的forward: redirect: ...
- ElasticSearch所使用的倒排索引的思想和使用场景
背景: 在关系数据库系统里,索引是检索数据最有效率的方式,.但对于搜索引擎,它并不能满足其特殊要求: 1)海量数据:搜索引擎面对的是海量数据,像Google,百度这样大型的商业搜索引擎索引都是亿级甚至 ...
- 使用SLF4J和LOGBACK (一 : 基本使用)
1.SLF4J是什么? slf4j是一个日志门面,它不是具体的日志实现框架,而是提供了通用的日志接口,按个人理解来说,是通过接口实现多态,来满足应用在不同日志框架间切换的需求. 例如在程序中我们需要记 ...
- CentOS6.4 上搭建NIS网络信息服务器
NIS(Network Information Service)网络信息服务,主要功能是提供用户登录信息给客户端主机查询之用,用于企业局域网Linux主机账户的集中管理(非跨平台).NIS服务器在大型 ...
- Java开发中所涉及的常用远程调用
根据<Spring in Action>一书中指出,Java开发中常见的远程过程调用(RPC),常见的有一下四种方式: 1.远程方法调用(RMI) 2.Caucho的Hessian和Bur ...
- 【BZOJ】1913: [Apio2010]signaling 信号覆盖(计算几何+计数)
题目 传送门:QWQ 分析 人类智慧题,不会做...... 详细题解1 详细题解2 总体思路是考虑四边形 讨论凹四边形凸四边形,最后加一个单调性优化省掉个$ O(n) $ 代码 代码感觉好短 ...
- Centos7 可执行程序自定义为系统服务
systemctl的使用相比以往系统服务的/etc/init.d的启动脚本的方式变动也比较大,但变的更简单更易用了,同firewalld一样,运行原理一目了然,对于初学者来说,只要做过一两次练习,就能 ...
- CentOS下如何从vi编辑器插入模式退出到命令模式
刚打了下关于vi编辑器的命令,发现一直退出不了.后来自己敲着敲着它就退出了,写博客记录下. 比如现在w文件夹下面有一个ww文件 我进入这个文本,输入命令 vi ww,未回车,情况如下 按了回车,就进入 ...
- selenium+python+pycharm环境搭建
1.安装python,配置path环境变量,验证python安装成功与否 2.安装Pycharm:Pycharm是Python的IDE,所以我们需要安装一下:下载安装Selenium 3.在官网(ht ...
- 1.celery概述
1. 问题抛出 我们在做网站后端程序开发时,会碰到这样的需求:用户需要在我们的网站填写注册信息,我们发给用户一封注册激活邮件到用户邮箱,如果由于各种原因,这封邮件发送所需时间较长,那么客户端将会等待很 ...