专家推荐 Perl基础教程入门指导

开发 架构
Perl编程语言有很多值得学习的地方,这里向大家简单介绍一下Perl基础教程,希望本文的介绍能让你有所收获,欢迎大家一起来学习Perl。

本文向大家重点学习一下Perl基础教程,主要包括Perl的构件,控制流程序,列表数字和文件操作等内容,相信通过本文的学习你对Perl基础知识一定会有全面的认识。

Perl基础教程

一、Perl基础

1.常用命令
1.1perl–v显示Perl版本,测试Perl是否安装
1.2perldoc–tf<函数名>查找函数信息
1.3perldoc–q<key>查找FAQ
1.4perl是一种解释型语言,不需要编译;Python是虚拟机语言,要编译。

二、Perl的构件:数据,字符串

1.转义字符用\<symbol>表示
2.qq,q运算符,使用非字符或数字作为限定符
3.标题变量$<key>
4.chomp删除换行符
5.<stdin>输入设备
6.格式化字符串直接在字符串中引用标量

三、Perl基础教程之控制程序流

1.空undef
2.last,redo,next都可以跟标号
3.exit0正常退出程序

四、Perl基础教程之列表/数组

1.qw运算符声明列表
2.定义范围1..20
3.定义数组@<key>
4.引用数组元素$<key>[index]
5.查找数组大小$size=@array
6.$#foo最后一个元素的索引号
7.localtime返回一个表示当前时间的时间元素列表
8.for,foreach$var(@array)
9.split函数
10.join函数
11.sort给数组排序
12.<=>飞船运算符
13.scalar函数,强制转换为一个标量放入标量上下文,返回放入的数量
scalar@_;        #p#

五、Perl基础教程之文件操作

1.die函数
2.$!用来在die函数中返回操作系统的出错消息
3.warn
4.defined<>undef
5.$_foreach读出的系统变量
例:
open(MYFILE,"c:/manifest.mf")||die"err:$!";

六、Perl基础教程之正则表达式

1.正则表达式中的元字符:
${}#^@|?.+*[\
2.将模式串括起来的字符可以是任意的元字符;除非使用非斜扛分隔符,否则可以不使用m。
3.用[]表示字符类
4.通配符{最少出现次数,最大出现次数
5.特殊字符类
\w单词字符
\W非单词字符
\d数字
\D非数字
\s空白字符
\S非空白字符
6.选择|
7.位置通配符
^一行开始
$一行结尾
8.替换
s/$searchpatten/replacement/;
9.修饰符
/g重复多次匹配
/I忽略大小写

七、Perl基础教程之哈希结构

1.用%声明%hash=("k1","v1","k2","v2");
2.用=>分隔键和值声明%hash2=("k1"=>"v1","k2"=>"v2");
3.引用哈希值$hash{"k1"}
4.用keys检索哈希表的关键字
foreach(keys%hash){
print"$_\n";
}
5.用values检索哈希表中所有值
foreach(values%hash){
print"$_\n";
}
5.reverse%hash转换成列表,键值对换
6.哈希合并%h={%h1,%h2}
7.测试哈希值是否存在if(exists$hash(keyval))
8.删除哈希值delete$hash(keyval)
9.删除所有键值%hash={}
10.查找数组中的所有唯一元素

八、Perl基础教程之函数

1.声明函数
subsubFun{
for($i=0;$i<10;$i++){
print$i;
}
Return(true);
}

2.参数
@_表示隐含参数列表
$_[2]表示第二个参数
($hit,$bats)=@_
例:
subparamFun{
($a,$b)=@_;
print"\na=$a";
print"\nb=$b";
}

3.声明函数内变量
My$y=500;#p#

九、其它函数和运算符

1.indexstring,substring
2.rindexstring,substring
3.substrstring,offset,length
可用于替换字符串
4.tr/searchlist/replacelist/转换运算符
tr/a-z/A-Z/;把大写转换为小写
$num=tr/0-9//;计算数字的数量
5.=~运算符
代替默认环境变量
$b=$a=~s/a/b/;把$a中a替换为b,赋值给$b
6.printf,sprintf格式化输出函数

十、Perl基础教程之操作文件和目录

1.opendirTEMPDIR,’c:/’
2.readdir返回的文件名不包含路径名
3.closedir(TEMPDIR);
4.Glob函数查询文件返回的文件名带路径
5.grep查询文件返回的文件名不带路径
6.chdir
7.mkdir
8.rmdir只删除完全是空的目录
9.unlink删除目录下所有文件,并返回文件数量
10.rename
11.Example:
12.chmod赋予权限
13.statfilename;statfilehandle返回文件句柄信息
#打开目录下的所有txt文件

 

  1. opendir(TD,"C:/TEMP")||die"error:$!";  
  2. @FILES=grep(/\.txt$/,readdirTD);  
  3. foreach(@FILES){  
  4. print$_;  
  5. openFILEH,"C:/TEMP/$_"||die"can'topenfile:$!";  
  6. foreach(<FILEH>){  
  7. printscalar($_);  
  8. }  
  9. }  
  10.  
  11. @files=glob("C:/TEMP/*.txt");  
  12. foreach(@files){  
  13.  
  14. print$_;  
  15. }  

十一、系统互操作性

1.system调用操作系统命令,正常返回0;返回1.

十二、Perl基础教程之DBM文件

1.DBM文件是与perl哈希结构联系在一起的文件结构。

2.将哈希结构与dbm关联起来
Dbmopen(hash,filename,mode);

3.each函数,对较大的哈希结构迭代操作
($key,$val)=each(%h);

4.open的限定符
<file只读
>file只写,不存在创建,重写
>>只写,创建,追加

5.随机读取文件
Seek(fileHandle,Offset,相对位置)函数
6.锁定UNIX和NT下的文件
Flock(FILEHANDLE,locktype);
FL_SH公共锁
FL_EX专用锁
7.读写锁控制:设置一个信标文件 #p#

十三、Perl基础教程之引用和结构

1.创建对变量的引用
$ref=\$a;

2.输出地址引用的值
Print$$ref

3.对数组和哈希表的引用
$$a[0]
@$a
%$a
$$a{xx}

4.列表中的列表
@list_of_lists={[qw(xxx)],[qw(ddf)]};

5.遍历数组
 

  1. foreachmy$outer(@list_of_lists){  
  2. print$outer;  
  3. foreachmy$inner(@($outer)){  
  4. print$inner;  
  5. }  

十四、使用模块

1.use引用其它模块
例:cwd获取环境变量
Strict改变程序运行特性,使之对引用和裸单词变得严谨

十五、Perl历史

定位于解释型语言,适合作为CGI语言
社群:http://www.perl.org/CPAN

【编辑推荐】

  1. Perl基础知识概述
  2. Perl基础 Perl 哈希表概述
  3. Perl基础 Perl复杂数据结构
  4. Perl基础 解析Perl标量和数组概念
  5. Perl基础 Perl引用和数组用法解析

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-07-20 16:19:54

Perl

2010-07-20 13:19:16

Perl入门手册

2010-07-13 13:15:17

Perl

2010-07-15 09:10:08

Perl函数手册

2010-08-03 14:37:30

Flex入门教程

2010-07-26 11:09:35

Perl函数手册

2009-07-22 13:32:43

iBATIS DAO

2010-07-21 11:04:44

Perl学习指南

2010-08-04 09:51:05

Flex学习

2022-02-22 19:04:01

Perl编程语言

2010-06-07 17:24:44

UML

2010-06-11 13:53:54

UML建模

2010-07-14 13:57:30

Perl开发工具

2010-08-16 15:19:35

DIV+CSS教程

2010-08-11 11:31:49

2017-12-12 07:47:59

dockermarathon服务器

2017-07-18 10:14:23

OracleMerge into教程

2011-07-18 09:35:29

iPhone 框架

2010-07-26 13:27:19

Perl多线程

2010-07-26 14:45:17

Perl Hash
点赞
收藏

51CTO技术栈公众号