资源描述:
Perl基本语法标量数字字符串数字和字符串之间的自动转换Perl内嵌的警告标量变量print输出if控制结构Boolean值用户的输入chomp操作while控制结构undef值defined函数列表和数组qw简写列表赋值pop和push操作shift和unshift操作字符串中引用数组foreach控制结构最常用的默认变量:$_reverse操作sort操作标量和列表上下文子程序使用sub定义子程序调用子程序参数my变量使用strictPragma省略&输入和输出从标准输入设备输入从<>输入调用参数输出到标准输出设备
1使用printf格式化输出数组和printf句柄(即|文件描述符)文件句柄的打开Bad文件句柄关闭文件句柄严重错误和die使用文件句柄哈希什么是哈希哈希元素的存取哈希函数正则表达式简单的模式正则表达式的应用使用m//匹配可选的修饰符锚定匹配变量使用正则表达式处理文件使用s///进行替换split操作join函数列表上下文中的m//更强大的正则表达式更多控制结构unless控制结构until控制结构表达式修饰符TheNakedBlock控制结构elsif语句自增和自减(同C)for控制结构(同C)循环控制逻辑操作符&&和||文件校验文件检测操作stat和lstat函数
2localtime函数位操作目录操作在目录树上移动GlobbingGlo|bbing的替换语法目录句柄删除文件unlink重命名文件链接文件创建和删除目录修改权限改变所有者改变时间戳字符串和排序使用索引寻找子串使用substr操作子串使用sprintf格式化数据进程管理system函数exec函数环境变量使用反引号得到输出像文件句柄一样处理进程fork函数发送和接受信号Perl模块查找安装模块使用简单的模块一些高级的Perl技术利用eval捕捉错误标量标量是Perl中最简单的数据类型。大多数的标量是数字(如255或3.25e20)或者字符串(如hello或者盖茨堡地址)。数字
3perl中所有数字内部的格式都是双精度浮点数。浮点数1.25255.000255.|07.25e45#7.25x10的45次方(一个大整数)-6.5e24#-6.5x10的24次方(一个大的负数)-12e-24#--12x10的-24次方(很小的负数)-1.2E-23#指数符号可以大写(E)整数02001-4025561298040283768其中61298040283768也可以写作:61_298_040_283_768非十进制整数0377#八进制数字377,等同于十进制数字2550xff#十六进制数字FF,等同于十进制数字2550b11111111#等同于十进制数字255可以用下划线表示:0x1377_0B770x50_65_72_7C数字操作符2+3#2+3,55|.1-2.4#5.1-2.4,2.73*12#3*12,36
414/2#14/2,710.2/0.3#10.2/0.3,3410/3#通常是浮点除,3.33333......字符串单引号字符串'fred'#四个字符:f,r,e,d''#空字符(没有字符)'hello
5'''\'#单引号(')跟着反斜线()字符串单引号中的 "
6" 不会被当作换行符来处理。双引号字符串"barney"#等同于'barney'"helloworld
7"#helloworld,换行字符串操作符链接操作符".""hello"."world"#同于"helloworld""hello".''."wor|ld"#同于"helloworld"'helloworld'."
8"#同于"helloworld
9"重复操作符"x""fred"x3#"fredfredfred"5x4#等于"5"x4,"5555"数字和字符串之间的自动转换大多数情况下,Perl将在需要的时候自动在数字和字符串之间转换。它怎样知道什么时候需要字符串,什么时候需要数字呢?这完全依赖于标量值之间的的操作符。如果操作符(如+)需要数字,Perl将把操作数当作数字看待。如果操作符需要字符串(如.),Perl将把操作数当作字符串看待。不必担心数字和字符串的区别;使用恰当的操作符,Perl将为你做剩下的事。
10"12"*"3"#|*操作符需要数字,所以结果为36"12fred34"*"3"#结果仍然是36,后面的非数字部分和前面的空格都过滤掉。"Z".5*7#等于"Z".35,或"Z35"Perl内嵌的警告使用-w参数可以打开警告:$perl-wperl程序#命令行执行警告#!/usr/bin/perl-w#源代码中使用警告标量变量标量变量可以存放一个标量值。标量变量的名字由一个美圆符号($)后接Perl标识符:由字母或下划线开头,后接字母,数字,或者下划线。或者说由字母,数字和下划线组成,但不能由数字开头。大小写是严格区分的:变量$Fred和变量$fred是不同的。任意字母,数字,下划线都有意义,如:$a_ve|ry_long_variable_that_ends_in_1$a_very_long_variable_that_ends_in_2标量赋值$fred=17;$barney="hello";$barney=$fred+3;#将$fred的值加上三赋给$barney(20)$barney=$barney*2;#将变量$barney乘2再赋给$barney(40)二元赋值操作符$fred=$fred+5;#没有用二元赋值操作符$fred+=5;#利用二元赋值操作符$barney=$barney*3;$barney*=3;$str=str."";#$str后接空格;$str.="";#同上p|rint输出
11print"helloworld
12";#输出helloworld,后接换行符print"Theansweris",6*7,".
13"字符串中引用标量变量$meal="brontosaurussteak";$barney="fred