Perl的书已经在手里放了N年,从来没有用心读过。对于编程也越来越疏懒了。希望这是一次新的开始。所看书籍,主要是两本 《perl 5 编程详解》和《Perl by example,4E》
1. 变量
标量 $test 无需声明类型
如果使用双引号,则可以在字符串中插入变量值 "test is $test"
chop vs chomp
chop 只删除字符串最后一个字符
chomp 则是根据$/这个特殊变量来决定需要删除的字符,默认$/="/n"
substr() 可以使用负下标,从字符串尾部计算substr($string,-2,2)
uc(),lc(),ucfirst(),lcfirst() 用于字符串的大小写转换
defined 用于判断变量是否被定义过值
undef 将变量设定为未定义的值
return(undef);
$string = undef;
undef($string);
数组 @test 可以混合不同类型的元素
提取数组元素 $test[]
数组内元素交换 @swap[1,2,3]=@swap[2,3,1]
scalar(@test) 获取数组长度
实际操作中可以忽略,只要 就可以获得数组长度
也可以使用$#来获取数组长度,不过需要在反馈的值后面+1才是实际数组元素数量。
push,pop 从数组尾部添加和取走元素,不过push可以一次添加一个数组,而Pop只能够一次取走一个元素。
unshift,shift 从数组头部添加和取走数组元素。
splice()在数组中添加,取走元素
A. splice(@test,$position,$length,@list) 总指定位置抽取指定长度的元素,同时添加一个数组进入
B. splice(@test,$position,$length) 在指定位置抽取指定长度的元素
C. splice(@test,$position) 从指定位置抽取元素到数组结尾
reverse() 将数组顺序颠倒
split()通过标量生成数组
@array=split(REGEXP,$scalar,$limit)
$limit用于设定分配数组个数
join()通过数组生产标量
hash哈希变量
%hash=(key1=>'value1',key2=>'value2')
or
%hash=(key1,value1,key2,value2)
单一赋值
$hash{'key1'}=value1
keys() 将hash的关键字建立一个数组,不过这个关键字是无固定顺序的
@arrayName=keys(%hash);
values() 将hash的值建立一个数组
each() 为哈希内的每个元素返回一个($key,$value),避免内存大量占用的现象。
当遍历完成后,会反馈undef
注意:在遍历的时候,不要在hash中删除和添加元素,会导致错误产生
delete() 删除hash中的元素
delete($hashName{$key})
exists() 判断hash中是否存在该元素,如果存在则反馈true,无则反馈undef
exists($hashName{$key})
阅读(928) | 评论(0) | 转发(0) |