Perl基础 Perl数组学习指南

开发 架构
Perl语言中Perl数组有很多值得学习的地方,你对Perl数组的概念是否熟悉,这里和大家分享一下,希望本文介绍能让你有所收获。

本文和大家重点讨论一下Perl数组的概念,主要包括基本的Perl数组和一些与Perl数组相关的函数等内容,另外Perl中所有Perl数组变量都以@开头,相信通过本文的学习你对Perl数组的概念有全面的认识。

Perl数组

Perl中所有Perl数组变量都以@开头

(1)基本Perl数组

定义和使用
my@list=("a","b","c");
$list[0],$list[1],$list[2],下标从0开始

Perl数组中元素个数:$#array_name,返回Perl数组中最后一个变量的索引=Perl数组元素个数-1
空Perl数组$#array_name=-1

Perl数组表达式:
@array=(1,$data,"sam");
@array_dest=@array_source;
@full_message=($prefix1,$prefix2,@message);//在message前面加了两个元素,赋值full_message

打印Perl数组:
print“@array”,打印结果中间用空格分隔,去掉双引号,中间没有分隔

带有“黑洞”的Perl数组:
如果Perl数组中有没有赋值的元素,则为undef,例如:
my@array=(1);
$array[5]=4;//中间的几个下标对应的都是undef

引用词运算符qw:
my@array=qw(tomdickharry);//中间除了空格没有其他分隔符
相当于my@array=("tom","dick","harry");

(2)一些Perl数组相关函数:

push(@array,$value):向结尾添加一个元素

pop(@array):取走最后的元素并返回

unshift(@array,$value):在Perl数组起始添加一个元素

shift(@array)或者shift@array:取走第一个元素并返回(函数都可以省略括号)

(3)处理Perl数组的一部分:

可以用一套索引,例如:
my@new_array=@array[1,3,5];
@array[1,0]=@array[0,1];

范围运算符,例如:
@arry[0..9]=((0)x10);//重复10次0

(4)splice函数

splice可以删除或者替换Perl数组的一部分,格式为:
splice@array,$offfset//删除从offset开始到末尾,offset为下标,offset为负数则从结尾算起
例如:
my@array=(0,1,2,3,4,5);
splice(@array,-2);
将得到0123

splice会返回最后删除的函数。

splice另一种形式:
splice@array,$offset,$length,删除length个元素

第三种形式:
splice@array$offset,$length,REPLACEMENTS
删掉后,从offset开始添加REPLACEMENTS里的元素,REPLACEMENTS可以是标量或者Perl数组

(5)split和join函数

@array=splitRegExpr,$string//将$string按照RegExpr指定的分隔符来分解放到@array中

$string=join$union,@array//将@array中元素用$union连接,赋值给@string

(6)Perl数组排序

sort函数,默认按照ASCII顺序排序:
my@sorted=sort@array;

按数字顺序排序:
@result=sort{$a<=>$b},@unsorted;

(7)@ARGV变量

包含程序的命令行参数,与c中不一样,第一个参数不是程序的名字
程序的名字在变量$0(数字0)中

【编辑推荐】

  1. 深入解析Perl中Perl数组的使用
  2. Perl文件句柄概念详解
  3. 实例解析Perl守护进程用法
  4. Perl变量中Perl数组概念详解
  5. 术语汇编 Perl变量中Perl关联数组用法解析

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-07-15 15:39:51

Perl线程

2010-07-21 11:04:44

Perl学习指南

2010-07-21 13:59:59

Perl引用

2010-07-19 09:52:04

Perl标量

2010-07-21 14:18:27

Perl函数

2010-07-20 16:05:07

Perl包

2010-07-13 16:34:34

Perl 哈希表

2010-07-13 09:50:55

Perl数组

2010-07-21 13:27:06

Perl模式匹配

2010-07-16 14:05:58

Perl数组

2010-07-20 15:02:20

Perl数组

2010-07-13 14:26:11

Perl数组

2010-07-20 16:13:25

Perl线程

2010-07-20 13:32:25

Perl编程格式

2010-07-13 13:27:13

Perl复杂数据结构

2010-07-13 12:50:47

Perl变量

2010-07-21 14:08:28

Perl命令行

2010-07-20 13:12:11

Perl数组

2010-07-20 15:36:58

Perl语法

2010-07-19 13:49:17

Perl函数
点赞
收藏

51CTO技术栈公众号