【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]#




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值