perl语言入门总结-第3章-列表与数组

1-列表list指的是标题的有序集合, 而数组(array)则是存储列表的变量。 

更精确地说,列表指的是数据,而数组指的是变量。 

访问数组中的元素

$fred[0] = "yabba";
$fred[1] = "dabba";
$fred[2] = "doo";

$number = 2.71111;
print $fred[$number-1]; #dabba  如果下标不是整数,会舍去小数。
print $fred[145] #如果不存在下标则返回 undef

特殊数组索引, 获得最后一个元素

$rocks[0] = "one";
$rock[99] = 'last';
print $rock[$#rock] ; #last
print $rock[-1]; #last

列表直接量

(1,2,3)  (1,2,3,)  ("friend",11)  () (1..100)
(1.7..5.7) (5..1)空列表 (0,2..6,10,12)
("fred", "barrbey"m "wilma")

qw简写

qw(fred barrbey wilma)

qw允许使用任何标点符号作为定界符。

qw/ fred barney betty /   #可以用反斜杠\转义定义符

列表的赋值

($fred, $barney, $dino) = ('a', 'b','c');
print $barney; #结果为b

($a,$b)=($b,$a); #a,b两个变量值交换 

数组变量赋值及简写

($rocks[0], $rocks[1], $rocks[2]) = qw/a b c/;
@rocks = qw/a b c/; #上面方法的简写

数组操作

@a =qw/a b/;
@b =(@a, "c", 'd'); #a,b,c,d

pop与push操作, 操作的是最右端

@array = 5..8;
$array1 = pop(@array); #会从array中移除最后一元素元素8,返回8
push @array, 100; #向后加100

shift和unshift操作符, 操作的是最左端

@array = qw# a b c d #;
$m = shift(@array); #@array值为(b,c,d)
unshift(@array, 100); #向前加入100即(100,b,c,d)

猜你喜欢

转载自www.cnblogs.com/qinzb/p/9175558.html