Perl 變數:陣列變數

來源:互聯網
上載者:User

標籤:表變數   分割   perl   out   offset   數組元素   enc   括弧   exp   

Perl 數組
Perl 數組一個是儲存標量值的列表變數,變數可以是不同類型。
陣列變數以 @ 開頭。訪問數組元素使用 $ + 變數名稱 + [索引值] 格式來讀取。



1、建立數組
1.陣列變數以 @ 符號開始,元素放在括弧內,
2.以 qw 開始定義數組,第二個數組使用 qw// 運算子,它返回字串列表,數組元素以空格分隔。
@array1 = (1, 2, ‘Hello‘);
@array2 = [1, 2, ‘Hello‘];
@array3 = qw/this is  a array/;

print @array1[0];   #1
print @array1;          #12hello

print @array2[0];   #1
print @array2;          #ARRAY(0x26e3160)   


2、訪問數組元素
訪問數組元素使用 $ + 變數名稱 + [索引值] 格式來讀取。
數組索引值
從正向開始讀取, 0 開始,即 0 為第一個元素,1 為第二個元素,以此類推。
負數從反向開始讀取, -1開始,即 -1 為第一個元素, -2 為第二個元素 。


3、數組序號
Perl 提供了可以按序列輸出的數組形式,格式為 (起始值 .. 結束值)。

#!/usr/bin/perl@var_10 = (1..10);  @var_10 = [1..10];print @var_10                 #1 2 3 4 5 6 7 8 9 10print @var_10                 #ARRAY(0x26e3160) 

 





4、數組大小
數組大小由數組中的標量上下文決定。

。。。。。。



5、添加和刪除數組函數
Perl 提供了一些有用的函數來添加和刪除數組元素。

序號 類型和描述
1 push @ARRAY, LIST 

將列表的值放到數組的末尾

2 pop @ARRAY

彈出數組最後一個值,並返回它

3 shift @ARRAY

彈出數組第一個值,並返回它。數組的索引值也依次減一。

4 unshift @ARRAY, LIST

將列表放在數組前面,並返回新數組的元素個數。




6、切割數組
我們可以切割一個數組,並返回切割後的新數組:
執行個體

#!/usr/bin/perl@sites = qw/11 22 33 44 55 66 77/; @sites2 = @sites[3,4,5];@sites3 = @sites[3..5]; print "@sites2\n";      #44 55 66print "@sites3\n";            #44 55 66

 



7、替換數組元素
Perl 中數組元素替換使用 splice() 函數,文法格式如下:
splice @ARRAY, OFFSET [ , LENGTH [ , LIST ] ]
 參數說明:
    @ARRAY:要替換的數組。
    OFFSET:起始位置。
    LENGTH:替換的元素個數。
    LIST:替換元素列表。

以下執行個體從第6個元素開始替換數組中的5個元素:執行個體#!/usr/bin/perl @nums = (1..10);print "替換前: @nums\n"; splice(@nums, 5, 5, 21..25);print "替換後: @nums\n";執行以上程式,輸出結果為:替換前:1 2 3 4 5 6 7 8 9 10替換後:1 2 3 4 5 21 22 23 24 25 

 



8、將字串轉換為數組
Perl 中將字串轉換為數組使用 split() 函數,文法格式如下:
split [ PATTERN [ , EXPR [ , LIMIT ] ] ]
參數說明:
    PATTERN:分隔字元,預設為空白格。
    EXPR:指定字串數。
    LIMIT:如果指定該參數,則返回該數組的元素個數。

樣本:#!/usr/bin/perl # 定義字串$var_1 = "hello";$var_2 = "hello-welcome-world";$var_3 = "hello,welcome,world,goodbye"; # 字串轉為數組@var_1 = split(‘‘, $var_1);@var_2 = split(‘-‘, $var_2);@var_3 = split(‘,‘, $var_3); print "$var_1[1]\n";   # 輸出 eprint "$var_2[1]\n";   # 輸出 welcomeprint "$var_3[1]\n";   # 輸出 welcome

 



9、將數群組轉換為字串
Perl 中將數群組轉換為字串使用 join() 函數,文法格式如下:
    join EXPR, LIST
參數說明:
    EXPR:串連符。
    LIST:列表或數組。

執行個體#!/usr/bin/perl # 定義字串$var_1 = "hello-welcome-world";$var_2 = "hello,welcome,world,goodbye"; # 字串轉為數組@var_1 = split(‘-‘, $var_1);@var_2 = split(‘,‘, $var_2); # 數組轉為字串$var_1 = join( ‘-‘, @var_1 );$var_2 = join( ‘,‘, @var_2 ); print "$var_1\n";print "$var_2\n";

 


10、數組排序
Perl 中數組排序使用 sort() 函數,文法格式如下:
sort [ SUBROUTINE ] LIST
參數說明:
    SUBROUTINE:指定規則。
    LIST:列表或數組。

執行個體#!/usr/bin/perl # 定義數組@sites = qw(hello world say goodbye);print "排序前: @sites\n"; # 對數組進行排序@sites = sort(@sites);print "排序後: @sites\n";執行以上程式,輸出結果為:排序前: hello world say goodbye排序後: hello goodbye say world

 



11、合并數組
數組的元素是以逗號來分割,我們也可以使用逗號來合并數組,如下所示:

執行個體#!/usr/bin/perl@numbers = (1,3,(4,5,6));print "numbers = @numbers\n";     #numbers = 1 3 4 5 6


也可以在數組中嵌入多個數組,併合併到主數組中:

執行個體#!/usr/bin/perl @odd = (1,3,5);@even = (2, 4, 6); @numbers = (@odd, @even); print "numbers = @numbers\n";   #numbers = 1 3 5 2 4 6

 



12、從列表中選擇元素
一個列表可以當作一個數組使用,在列表後指定索引值可以讀取指定的元素,如下所示:

執行個體#!/usr/bin/perl $var = (5,4,3,2,1)[4];print "var 的值為 = $var\n"     #var 的值為 = 1

 



Perl 變數:陣列變數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.