Perl脚本跟C语言语法比较接近。
Perl的座右铭是“办法不止一种 (There's More Than One Way To Do It)”。
变量
变量需要使用$字符, 如下:
$pi = 3.14;
print $pi . "\n";
$arr[0] = 100;
print $arr[0] . "\n";
语句
每一句以分号结尾。
字符串
数组
下标-1表示最后一个元素,依次类推,-2是倒数第二个元素。
引用整个数组:
@arr = 5..9;
除了通过下标访问数组,还可以通过push、pop操作符。
@arr = 5..9;
$fred = pop @arr; #$fred变成9,@arr是(5, 6, 7, 8)
pop @arr; #@arr是(5, 6, 7)
push @arr, 8; #@arr是(5, 6, 7, 8)
列表
<span style="font-size:14px;">(1, 2, 3) #包含1、2、3这三个数字的列表
(1, 2, 3,) #末尾的逗号会被忽略
("fred", 4.5) #两个元素,"fred"和4.5
() #空列表,0个元素
(1..100) #100个整数构成的列表</span>
特殊操作符
.. 范围操作符,从左边的数字计数到右边的数字,只能向上计数。
reverse
#reverse 返回次序相反的列表,不改变入参
@wilma = reverse 6..10;
@fred = reverse @fred;
sort
(1..5) #与(1, 2, 3, 4, 5)相同
(5..1) #空列表,只能向上计数
函数
函数定义
sub marine {
$n += 1;
print "Hello, sailor number $n\n";
}
函数调用
&marine;
函数参数
&max(1, 2);
$_[0]表示第一个参数,以此类推,$_[1]表示第二个参数;
返回值
最后执行的表达式的值就是函数的返回值。写不写return都可以。
常用函数
chomp() 去掉字符串结尾的'\n'
输入与输出
控制结构
foreach
foreach $rock (qw/ bedrock slate lava /) {
print "One rock is $rock.\n";
}
#使用默认变量$_
foreach (1..10) {
print "I can count to $_\n";
}
正则表达式