?
第二章 标量数据(数字和字符串)
1. 点(.)字符串连接运算符,小写字母x为字符串重复运算符;
2. hex()、oct()转换字符串;
3. chomp()移除字符串行尾的换行符;
第三章 列表与数组
1. 数组和列表的定义方法:
2. $size = $#array 获取数组array的个数,最后一个元素的索引
3. 列表 qw(one two three ),? qw{/usr/bin /usr/local/bin},? !、/、#、()、{}、[]、<>都可以作为qw的分隔符。
4. 赋值:
($one,$two)= ("abc","efg")
($one,$two)=? qw[/usr/bin /usr/local/bin]
???????? ($one,$two)= ($two,$one)交换
????????? @array = qw(one two three )
???? @array = ("abc",@other,$one)
????????? @array = 1..10?? 添加10个元素
5. push和pop在数组尾端操作
???????? push(@array,8);?? $one = pop(@array)
6. shift和unshift在数组头部操作
???????? unshift(@array,8);?? $one = shift(@array)
7. reverse()反转列表或数组
???????? @abc = reverse 1..5???? @abc = reverse(@abc)
8.sort()字符串排序列表或数组
???????? @num = sort(@num)???? @num = sort 97..102 #按字符串排序
9. foreach循环????? foreach $rock (@rocks)? { print $rock.”n”;}
10. $_代表“老地方”??? foreach(@rocks) {print $_.”n”;}
11. 列表上下文(列表、数组、哈希)与标量上下文
???????? @people = qw(fred barney betty)
???????? @sorted = sort @people #列表上下文 barney,betty,fred
???????? $num = 42 + @people #标量上下文,得到42+3=45
???????? @list = @people #得到数组
???????? $num = @people #得到3
sort函数标量上下文为undef
$backword = reverse qw/abc efg/? #得到gfecba
scalar强制引入标量上下文? scalar(@rocks) 返回数组个数
12. 内插变量输出变量名要用转义或用单引号:
print "@rocks? $rock"; # 输出"@rocks $rock"
print ‘@rocks? $rock’;
第四章 子程序 1. use strict; #严格编译 use warnings; #输出警告 2. perl函数都有返回值,默认为return $_; 3. 函数定义与调用 sub proc { ???? my @array = $_; ???? @array = sort @array; ???? return @array; } @sorted = &proc(abc,efg); 4. 调用函数时,一般可省略&号;如果和内置函数重名,不能省略与号(&) 5. 持续私有变量用state定义,多次调用保留上次的值,列表上下文初始化不支持state.