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).创建子程序:使用关键字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阅读
1点赞
符号引用     一般来说,类似$$var的结构表示,$var是一个引用变量,而且程序员希望该表达式能够返回$var所指向的值。 假如$var不是引用变量的话会出现什么情况呢?Perl并不是断然打印出错误信息,而是尝试检查$var的值是否为一字符串。如果是,Perl将以该字符串作为正规的变量名与这个变量重新加以组合!考虑下面的例子: #!/usr/bin/perl $
原创 2011-07-30 17:06:23
313阅读
   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点赞
 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阅读
 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阅读
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阅读
Perl 文件读写,命令行参数判断。
原创 2014-12-26 12:27:10
810阅读
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阅读
在程序运行里,可以使用eval 块表达式(块后的分号不能省略,因为是表达式)来捕获严重错误,以防止程序运行时崩溃;其捕获结果存储于特殊变量 $@ 中,$@为空(“假”)时表示执行成功,否则,就表示执行过程中发生了错误,其内容为错误信息(布尔表达式结果为“真”)
推荐 原创 2009-01-22 12:39:00
1872阅读
1评论
Perl中,可以利用system 函数启动子进程,子程序执行相应的命令并继承Perl的标准输入、标准输出以及标准错误;通常提供给system 函数的参数就是一般在shell所键入的命令,当参数里有类似于“$HOME”的环境变量时,应该将参数放在单引号中(双引号中$开头的字符串会被当作变量进行替换)或者入在双引号中并将符号“$”进行转义
原创 2009-01-22 11:44:00
3543阅读
散列是一种数据结构,可以包含任意多个值,并以“键”来寻找相应的值;键通常都是字符串,且可以是任意字符串,但彼此间不能相同,对应的值则不受此限制;散列中的元素没有固定顺序,只有“键-值对”的组合;键和值都是任意的标量,但键总是被当作字符串
原创 2009-01-20 16:25:00
770阅读
在While循环里,Perl会一次读取一行输入,把它存入某个变量并且执行循环主体后再去寻找下一行输入;而在foreach循环中,整行输入操作会在列表上下文执行,因此,循环开始前,它会把所有输入事先读进来,在对于处理大体积的文本文件是十分不利的
原创 2009-01-20 16:23:00
10000+阅读
chdir 函数用来改变工作目录,类似于shell 命令 cd;更改目录成功时返回值为“真”,否则为“假”;如果省略chdir 的参数,Perl会试图将工作目录转向当前用户的主目录;每次目录更改后都应该测试其结果
原创 2009-01-22 11:05:00
1018阅读
1、 unless 可以让程序块在条件表达式为“假”时执行,这恰与 if 相反; 2、 until 可以在条件表达式为“假”时让循环执行直到表达示为“真”,这恰与 while 相反;
原创 2009-01-21 19:09:00
1026阅读
使用s/// 操作符可以进行“查找和替换”,其中前两个斜线之间的是模式(pattern),后两个斜线中间的是替换字符串(replacement string);替换字符串中可以使用匹配变量;使用选项修饰符 /g 可以进行全局替换;s/// 操作符有布尔型的的返回值,替换成功时为“真”,否则为“假”;
原创 2009-01-21 19:07:00
1704阅读
  • 1
  • 2
  • 3
  • 4
  • 5