Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104959
  • 博文数量: 16
  • 博客积分: 1425
  • 博客等级: 上尉
  • 技术积分: 216
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-04 14:29
文章分类

全部博文(16)

文章存档

2014年(1)

2010年(7)

2009年(8)

我的朋友

分类:

2010-02-02 20:39:08

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})
 
 
阅读(887) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~