PERL编程24学时教程-读书笔记(二)

15.$#arrayname表最后一个元素的索引号,可修改表示截断或增加undef元素

16.$size = @arrayname 表数组长度(上下文)

17.$array[-1] = $array[$#array]

18.acalar(@array)标量上下文

19.文件结尾,UNIX:Ctrl+D;windows:Ctrl+z(两次)

20. @stars = "*" x 100 表示100个*的数组

21.逗号,运算符表示从左到右计算,然后返回最右的值。

22.scalar(localtime)与@listtime=localtime

23.foreach $one(@all) 可以向修改数组的值

24.split join

25.sort{$a<=>$b}@numbers ???

26.open(handle,"filename")||die "$!"退出程序

27.warn "$!" 只发出警告

28.while(){ print $_;}

29.open 文件使用">"表示覆盖文件内容,使用">>"表示增加文件内容。

30.print handle LIST写文件。

31.print DEST

32.binmode(filehandle)以二进制方式处理文件

33.测试文件 r w e z s f d T B M

34.正则表达式,从左到右,贪婪匹配。

35. 元字符:. + * ? {min,max} [ ] ( ) | ^ $ /d /D /w /W /s /S 

37. .*表示任意字符串

38./^/ /$/表示所有行 /^$/空行

39.匹配赋值:LIST = /()/

40.s/orign/replace/ = s#orign#replace#

41.哈希表示键值对,速度快。也称关联数组。

42.%hash(aa=>'aa',bb=>'bb'); $hash{aa}=val;

43.keys %hash 与 values %hash顺序相同

44.exists $hh{aa}判断是否存在,delete $hh{aa}删除元素,$hh=();清空哈希表。

45.

while(<>)

  {

      while(/(/w[/w-]*)/g)

      {

          $words{$1}++;

      }

  }

//w[/w-]*/g 搜索单词

46. 7-2,7-3代码再看一遍

47.7.5.4与25问题相同。

48.&func()与func()相同,函数返回值与最后一个表达式的值相同,或显示return;

49.函数的参数可以使用"@_"来访问。

50.$_[0]与@_的第一个元素相同,而与标量$_无关。参数是传地址。数组和哈希也可以做为参数。

51.my($val1,@val2)声明为局部变量。在任意代码块中使用,如for,while.如:foreach my val (@array)

52.index rindex substr tr///转换操作符,按字符转换。使用$_作为参数,除非使用“=~”操作符进行设定。tr 可替换为y, /可替换为任意可配对的字符。

53.push pop在栈顶操作,shift unshift在栈底操作,栈底索引为0。

54.spice array, start, length, list 可将删除的元素使用list替代。

55.opendir readdir不返回路径名。

56.glob ?:一个字符 *:任意数目字符 [chars]:任意其中字符 {a,b,}:任意某组字符。

57.use Cwd 获取当前目录, chdir改变当前目录.mkdir 创建目录,rmdir删除目录,必须是空目录.ulink <*.bat> glob方式删除文件列表,注意是完全删除,不能恢复.rename修改文件名,并可转移路径.

58.chmod 0777 filename 顺序0+所有者+组+其他 权限顺序:RWX.

59.stat文件属性.

60.system执行系统命令,但不返回结果,可用反引号"``"获取返回的结果,需要使用反斜杠进行系统变量的转义.还可以用qx{},这样对变量不进行perl的变量转义

61.在管道上,一个程序的STDIN被连接到前一个程序的STDOUT

62.open(pipe, "| more") ???????

63.可移植性的原则:(变量$^O为当前系统信息)

1).打开警告,使用use strict

2).始终都要检查来自系统请求的返回值

3).输出表义性强的出错消息

4).使用Perl的内置函数,而不用system或``

5).将依赖系统执行的操作(文件I/O,终端I/O、进程控制等)封装在函数中

64.perl -d prog调试程序,可以在程序进行时打印变量,和修改变量

l linenumber 查看代码

n 下一步

s 进入函数

b linenumber 设置断点

d linenumber 删除断点

c 执行程序到断点

R 重新运行程序

 

65.perl -d -e 1可用来测试perl语句

66.perl -c 检查程序而不运行程序

67."<>"功能

1).读取文件句柄.

2).设置glob搜索模式.<.bat>.

3).空内容<>表示:读取命令行中所有文件的内容.

68.@ARGV用于存储命令行参数,不包括程序本身和perl参数.

69.perl -p/-n -e 执行小程序

70.引用:$ref = /$val; $ref2 = /$ref; 则print $$ref,pint $$$ref2

你可能感兴趣的:(perl,perl,读书,编程,正则表达式,list,numbers)