perl中的列表與陣列

2021-08-01 03:21:43 字數 1771 閱讀 7750

列表(list)指的是標量的有序集合(資料),陣列(array)指的是儲存列表的變數(變數)。

索引從0開始,如果給負數取絕對值,給小數就會去掉小數部分取整數部分。可以包含任意多個元素,最少沒元素,最多無限制。

使用未使用過的陣列元素會得到undef,如果對索引值超過陣列尾端的元素進行賦值,陣列將會自動擴大。

求最後乙個元素的索引值:

$#陣列名

引用索引時,如果為負數,則返回從後往前數第幾個索引(不能超過元素個數)。

列表直接量:

(數值1,數值2,數值3)表示一列資料的寫法,可以用逗號或空格分隔,也可以用範圍符「..」,如

(1..5)表示(1,2,3,4,5),只會越來越大,每次加1。

qw簡寫:qw(資料1,資料2,資料3),放字串時候不用加雙引號,但不能用轉義字元。可以用任何符號定界,不一定非要用()。

列表的賦值: 例:

($fred,$barrey) =($barney,$fred,"abc")多了會忽略,少了會定義undef

陣列的賦值: 例:

@陣列名 = 值...;也可以將陣列賦給陣列

pop和push操作符:

pop(@陣列名)

將最後乙個元素取出,再作為返回值(現在最後乙個元素已經不在陣列中了,所以可以用作刪除)

push(@陣列名,元素)

新增乙個元素到末尾

shift和unshift操作符:

shift(@陣列名)

將第乙個元素取出再作為返回值

unshift(@陣列名,資料)在開頭新增乙個資料

splice操作符:

splice@array,1,2,qw(wilma)替換陣列array的第乙個開始數2個元素,替換成wilma,如果沒有第四個引數,就是刪除操作,返回值是第乙個元素開始數2個元素。如果第3個元素為0就是什麼都不刪,可以直接新增元素。

陣列內插:和標量一樣,陣列內插時會將元素自動用空格隔開,但前後無空格。

foreach控制符:

foreach $控制變數名 (列表或陣列)

常用的預設變數

:$_ 

例如如果foreach裡沒有設定控制符,就會設定它做預設變數。

reverse操作符:

reverse @fred;返回逆序陣列(列表)但不改變原陣列。

sort操作符:

sort @rocks;

排序,其它同上。

each操作符:

each @rocks;返回陣列下乙個索引和值

標量上下文與列表上下文:全靠感覺

清空陣列方法:@betty=();

列表上下文中的:@lines=;不停地輸入,如果是windows下的輸出,就用ctrl_z退出輸入。

Perl的列表與陣列

perl的列表相當於陣列 雜湊等資料結構的字面量,即可用於初始化陣列和雜湊,其形式為 x1,x2,x3,若列表中的元素均為字串,則可以用另一種便捷的形式 qw x1 x2 x3 範圍運算子 1.10 表示該列表包含1到10之間的10個數字,字母也可使用 陣列形式為 array 基本操作如下 初始化 ...

perl 列表和陣列變數詳解

一 列www.cppcns.com表 列表是包含在括號裡的一串行的值,可以為任何數值,也可為空,如 1,5.3 hello 2 空列表 注 只含有乙個數值的列表 如 43.2 與該數值本身 即 43.2 是不同的,但它們可以互相轉化或賦值。列表例 17,var,a string 17,26 17,v...

Perl中陣列的使用

perl中陣列的使用 下一節 陣列是perl裡面一種非常有用的東西。我們可以通過下面的方式定義陣列 a hello great cipher b 1,2,3,4,5,6,7 b的定義方式還可以寫成下面的形式 b 1.7 這種方式對於需要1到10000的初始值得陣列真實太重要了。b a z 也是可以的...