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”; 注意:工作目录不能更 ...
随机推荐
- 30个让人兴奋的视差滚动(Parallax Scrolling)效果网站--转
视差滚动(Parallax Scrolling)是指让多层背景以不同的速度移动,形成立体的运动效果,带来非常出色的视觉体验.作为今年网页设计的热点趋势,越来越多的网站应用了这项技术.今天这篇文章就与大 ...
- java结构
package com.hanqi;// 包名,必须在第一行,和namespace类似 //import java.io.*;//引用,和using类似 //import java.lang.*;// ...
- orzdba_monitor.sh脚本使用
1.orzdba_monitor.sh脚本使用 ./orzdba_monitor.sh 主要是用nohup同时在后台调用orzdba,启动下面三个命令 [root@node02 scripts]# p ...
- lamp环境应用实践
LAMP之apache2.4.33 apache工作模式 apache 常用工作模式有2种,区别在于 worker模式 1. 线程模式 2. 占用资源少 3. 稳定性略差 4. 并发大 prefork ...
- [Python] Argparse module
he recommended command-line parsing module in the Python standard library 1. Basic import argparse p ...
- Deep Learning 学习笔记(9):主成分分析( PCA )与 白化( whitening )
废话: 这博客有三个月没更新了. 三个月!!!尼玛我真是够懒了!! 这三个月我复习什么去了呢? 托福………… 也不是说我复习紧张到完全没时间更新, 事实上我甚至有时间打LOL. 只是说,我一次就只能( ...
- Python实践练习:生成随机的测验试卷文件
题目 假如你是一位地理老师,班上有 35 名学生,你希望进行美国各州首府的一个小测验.不妙的是,班里有几个坏蛋,你无法确信学生不会作弊.你希望随机调整问题的次序,这样每份试卷都是独一无二的,这让任何人 ...
- 腾讯安全反病毒实验室解读“Wannacry”勒索软件
背景 针对昨日英国医院被攻击,随后肆虐中国高校的 WannaCry 勒索事件,腾讯安全反病毒实验室第一时间给出了深度权威的分析.此次勒索事件与以往相比最大的亮点在于,勒索病毒结合了蠕虫的方式进行传播, ...
- Spring Boot实践——SpringMVC视图解析
一.注解说明 在spring-boot+spring mvc 的项目中,有些时候我们需要自己配置一些项目的设置,就会涉及到这三个,那么,他们之间有什么关系呢? 首先,@EnableWebMvc=Web ...
- 使用ffmpeg合并视频文件的三种方法
ffmpeg合并视频的方法有三种.国内大多数仅介绍了其中之一.于是觉得有必要翻译一下.其实在ffmpeg的 FAQ文档中有比较详细的说明. 使用concat协议进行视频文件的合并 这种方式的适用场景是 ...