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(
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