【Perl讀書筆記】數組操作push、pop、shift和unshift

讀 《C程序員精通Perl》http://book.douban.com/subject/1232075/   3.2節 筆記



#!/usr/bin/perl

use strict;
use warnings;

my @array = (); 


while (1) {
        print "input a number or <enter> to finish: ";
        my $a=<STDIN>;
        chomp ($a);

        if ($a eq "") {
                last;   
        }   
        print "Add $a to array\n";
        #@array=(@array, $a);
        push(@array, $a);
}

print "\narray=@array\n\n";

my $pop_number = pop(@array);

print "pop_number = $pop_number\n";
print "after pop array=@array\n\n";


my $shift_number = shift @array;
print "shift_number = $shift_number\n";
print "after shift array=@array\n\n";

unshift(@array, 100);
print "after unshift array=@array\n";

運行結果:

[root@localhost perl_practice]# ./read2.pl
input a number or <enter> to finish: 1.^H
Add 1 to array
input a number or <enter> to finish: 2
Add 2 to array
input a number or <enter> to finish: 3
Add 3 to array
input a number or <enter> to finish: 4
Add 4 to array
input a number or <enter> to finish: 5
Add 5 to array
input a number or <enter> to finish: 6
Add 6 to array
input a number or <enter> to finish:

array=1 2 3 4 5 6

pop_number = 6
after pop array=1 2 3 4 5

shift_number = 1.
after shift array=2 3 4 5

after unshift array=100 2 3 4 5
[root@localhost perl_practice]#

數組賦值:

#!/usr/bin/perl

use strict;
use warnings;

my @array = (); 


while (1) {
        print "input a number or <enter> to finish: ";
        my $a=<STDIN>;
        chomp ($a);

        if ($a eq "") {
                last;   
        }   

        push(@array, $a);
}

print "array=@array\n";

@array[0, $#array] = (1000, 2000);

print "1 array=@array\n";


@array[0..$#array] = ((9) x ($#array+1));
print "2 array=@array\n";

運行結果:

[root@localhost perl_practice]# ./read3.pl   
input a number or <enter> to finish: 1
input a number or <enter> to finish: 2
input a number or <enter> to finish: 3
input a number or <enter> to finish: 4
input a number or <enter> to finish: 5
input a number or <enter> to finish:
array=1 2 3 4 5
1 array=1000 2 3 4 2000
2 array=9 9 9 9 9
[root@localhost perl_practice]#




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章