1. 文件测试操作符
warning "Oops, A file called '$filename' already exists。\n" if -e $filename;
warning "Config file is looking pretty old!\n" if -M CONFIG >28
将超过90天没有访问,且大于10
原创
2011-06-15 16:27:24
356阅读
散列是一种数据结构,可以包含任意多个值,并以“键”来寻找相应的值;键通常都是字符串,且可以是任意字符串,但彼此间不能相同,对应的值则不受此限制;散列中的元素没有固定顺序,只有“键-值对”的组合;键和值都是任意的标量,但键总是被当作字符串
原创
2009-01-20 16:25:00
770阅读
Another good feature of Perl is RE, PerlRE.
In Perl, RE usually means patten, a match (or unmatch) of some characters template.
The patten can divide any characters into two parts: match and unmatch
原创
2012-11-15 21:03:45
1038阅读
1. 包
(1).将数据和函数包装到单独的命名空间中称为封装(encapsulation)。Perl中的包相当于C++中的命名空间,包的作用域是从包的声明到包含在最内层的块,包中的所有变量都有一个单独的符号表,同一包名下使用变量可以省略前缀。缺省包名的包也称main包。要引用其他包的变量或子程序要给出包名的前缀(变量不能是my或local的)。(当前包——ma
原创
2011-07-31 21:50:20
566阅读
1. 数字
(1).所有整数和浮点数都按double类型存储。例如0, -40, 0377, 0xFF,1.25, 255.0, -6.5e24 (2).可以插入下划线吧若干位数分开61_298_040_283_768(应该用逗号来分,但是逗号在perl中有其他意义)
(3).运算:除法总是按浮点数运算.例如10/3=3.33333...
支持整数取
原创
2011-06-10 17:21:11
589阅读
点赞
1. 常用的Perl命令行参数
-C 这个参数编译Perl程序但不会真正运行它.由此检查所有语法错误.每次修改perl程序之后我都会立刻使用它来找到任何语法错误.
-w 等同于use warning;
-e 从命令参数中的’’执行脚本,而非脚本文件
-n 如果需要遍历文件或者查找固定的模式,使用-n开关隐式一行一行读取文件。 常与-e连用编写类似awk的
原创
2011-06-26 20:48:43
453阅读
1. 数组的长度
$#arrayname返回数组最后一个长度的下标。( 默认数组是从0下标开始)
2. 数组的切片Array slicing
从一个数组给另一个数组的元素赋值时,得出的数组称为数组片。如果右边的数组大于左边的数组时,未使用的值将放弃。如果小于,多出的左边的值将为undef。
例如:
@name = ('A','B','C');
@pal = @name[0,
原创
2011-07-17 20:52:33
407阅读
1.子程序
1).创建子程序:使用关键字sub
sub marine {
print "Hello, world\n";
}
calling subroutines,使用&号
&marine
(2).返回值:所有的子程序最后一个表达式的运算结果都当作返回值。所以子程序只有“&rdqu
原创
2011-06-12 16:47:55
615阅读
Perl中的正则表达式
1. 使用简易模式
如果匹配对象是$_的内容。只要把模式写在一对//中就可以。即m//简写
$_="Fred"
if (/fred/) {
#...
}
2. 元字符
. 匹配任何单一字符,\n除外。
如果要想包含\n在多行匹配,需要用\s来代替.
如果想让.表示字面意义,需要用\.
原创
2011-06-14 10:49:37
455阅读
1. 控制结构
所有控制结构都可以做条件修饰符:command if ();
unless(){} 等同于if(! ){}
unless(){}else{}
until(){} 等同于while(! ){}
{} 裸块,可以用来限定my修饰符
if(){}elsif(){}...else{}
++i,i++
foreach (@mylist){print $_};
fo
原创
2011-06-14 20:05:58
365阅读
点赞
符号引用
一般来说,类似$$var的结构表示,$var是一个引用变量,而且程序员希望该表达式能够返回$var所指向的值。
假如$var不是引用变量的话会出现什么情况呢?Perl并不是断然打印出错误信息,而是尝试检查$var的值是否为一字符串。如果是,Perl将以该字符串作为正规的变量名与这个变量重新加以组合!考虑下面的例子:
#!/usr/bin/perl
$
原创
2011-07-30 17:06:23
313阅读
Hash is the one that makes Perl one of the most popular programer languages.It's another data structure similar to array.
Hash is indexed by keys, each key is an uniq characters but not numbe
原创
2012-11-13 14:41:52
566阅读
s/// is the most common expression using RE to do "search and replace".
s/patten/replace/ searches the 'patten' and replaces it to 'replace'.
'patten' is the patten we talked in perl
原创
2012-11-19 14:35:10
504阅读
Perl 文件读写,命令行参数判断。
原创
2014-12-26 12:27:10
810阅读
在程序运行里,可以使用eval 块表达式(块后的分号不能省略,因为是表达式)来捕获严重错误,以防止程序运行时崩溃;其捕获结果存储于特殊变量 $@ 中,$@为空(“假”)时表示执行成功,否则,就表示执行过程中发生了错误,其内容为错误信息(布尔表达式结果为“真”)
推荐
原创
2009-01-22 12:39:00
1872阅读
1评论
Perl中,可以利用system 函数启动子进程,子程序执行相应的命令并继承Perl的标准输入、标准输出以及标准错误;通常提供给system 函数的参数就是一般在shell所键入的命令,当参数里有类似于“$HOME”的环境变量时,应该将参数放在单引号中(双引号中$开头的字符串会被当作变量进行替换)或者入在双引号中并将符号“$”进行转义
原创
2009-01-22 11:44:00
3543阅读
在While循环里,Perl会一次读取一行输入,把它存入某个变量并且执行循环主体后再去寻找下一行输入;而在foreach循环中,整行输入操作会在列表上下文执行,因此,循环开始前,它会把所有输入事先读进来,在对于处理大体积的文本文件是十分不利的
原创
2009-01-20 16:23:00
10000+阅读
模块有两种发布方式,一种是Perl包的随附模块,另一种是可以从CPAN获取安装后使用的模块;下载安装前可以先尝试查看(如查看CGI模块可以使用perldoc CGI)本系统是否已经安装所需要的模块;CPAN两个可用的搜索页面
原创
2009-01-22 12:30:00
799阅读
1评论
index 函数用来在一个字符串中查找某个子串首次出现的位置并以整数形式(从零算起)返回,如果无法找到指定的子串,则返回0;其第一个参数是原字符串,第二个参数是要查找的子串,第三个参数则可用来指定开始查找的位置(默认从串首部开始查找);如果指定了第三个参数后,无法找到指定的字符串,返回值为-1;rindex 函数可用来查找子串最后出现的位置
原创
2009-01-22 11:25:00
869阅读
文件测试操作符及其含义:
-r 文件或目录,对目前(有效的)用户或组来说是可读的;
-w 文件或目录,对目前(有效的)用户或组来说是可写的;
-x 文件或目录,对目前(有效的)用户或组来说是可执行的;
-o 文件或目录,由目前(有效的)用户所拥有;
原创
2009-01-21 19:10:00
815阅读