第二章 标量数据(数字和字符串)
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.