perl-数组的用法

push:从数组的末尾加入元素。
pop :从数组的末尾取出元素

shift:  从数组的开头取出元素
unshift:从数组的开头加入元素


例子如下:

1,push

#!/usr/bin/perl
####<push>###

use strict;
use warnings;

my @array = ();

for ( my $i = 1 ; $i <= 5 ; ++$i ) {
    push @array, $i;
    print "@array/n";
}

[root@drbd-2 crontab]# ./push.pl
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5


2,pop

#!/usr/bin/perl
####<pop>###

use strict;
use warnings;

my @array = ( 1, 2, 3, 4, 5, 6 );

while (@array) {
    my $firstTotal = pop(@array);
    print "@array/n";
}

[root@drbd-2 crontab]# ./pop.pl
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1


3,shift

#!/usr/bin/perl
####<shift>###

use strict;
use warnings;

my @array = ( 1, 2, 3, 4, 5, 6 );

while (@array) {
    my $firstTotal = shift(@array);
    print "@array/n";
}

[root@drbd-2 crontab]# ./shift.pl
2 3 4 5 6
3 4 5 6
4 5 6
5 6
6



4,unshift

#!/usr/bin/perl
####<unshift>###

use strict;
use warnings;

my @array = ();

for ( my $i = 1; $i <= 5; ++$i ) {
   unshift( @array, $i );         # add $i to front of @array
   print "@array/n";              # display current @array
}

[root@drbd-2 crontab]# ./unshift.pl
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1




5,splice
操作数组中间部分的函数,该函数主要有2个作用:

1,向数组中间插入内容

#!/usr/bin/perl

use strict;
use warnings;

my @array = ( 0 .. 6 );
my @array1 = ( 'a' .. 'd' );

my @replaced = splice( @array, 3, 2, @array1 );

print "replaced:     @replaced/n",
      "with:         @array1/n",
      "resulting in: @array/n/n";

[root@drbd-2 crontab]# ./splice.pl
replaced:     3 4
with:         a b c d
resulting in: 0 1 2 a b c d 5 6


2,删除数组元素

#!/usr/bin/perl

use strict;
use warnings;

my @array  = ( 0 .. 6 );
my @array1 = ( 'a' .. 'd' );

my @replaced = splice( @array, 3, 2 );

print "replaced:     @replaced/n",
      "with:         @array1/n",
      "resulting in: @array/n/n";

[root@drbd-2 crontab]# ./splice.pl
replaced:     3 4
with:         a b c d
resulting in: 0 1 2 5 6


删除到末尾

#!/usr/bin/perl

use strict;
use warnings;

my @array  = ( 0 .. 6 );
my @array1 = ( 'a' .. 'd' );

my @replaced = splice( @array, 3 );

print "replaced:     @replaced/n",
      "resulting in: @array/n/n";

[root@drbd-2 crontab]# ./splice.pl
replaced:     3 4 5 6
resulting in: 0 1 2




6,join
连接列表中的各个分离的串,生成一个新的串,返回一个标量!

#!/usr/bin/perl

use strict;
use warnings;

my @array = ( 0 .. 6 );
my $replaced = join("/n", @array);

print "$replaced/n",

[root@drbd-2 crontab]# ./join.pl
0
1
2
3
4
5
6




7,split
把字符串进行分割并把分割后的结果放入数组中

[root@drbd-2 crontab]# perl -le '$p=q(/var/ftp/test);@a=split(///ftp///,$p);print $a[1];'
test
[root@drbd-2 crontab]# perl -le '$p=q(/var/ftp/test);@a=split(///ftp///,$p);print $a[0];'
/var



8,scalar
统计数组的长度,一般我们不用这个,直接将数组赋值给标量即可。

#!/usr/bin/perl

use strict;
use warnings;

my @array = ( 0 .. 6 );
my $count1 = @array;
my $count2 = scalar @array;

print "$count1/n";
print "$count2/n";

[root@drbd-2 crontab]# ./join.pl
7
7



9,sort
对数组元素进行排序

#!/usr/bin/perl

use strict;
use warnings;

my @array    = ( 0 .. 9 );
my @reversed = reverse @array;
print "Original:    @array/n";
print "Reversed:    @reversed/n/n";

# create an unsorted array of numbers and sort it
my @array2            = ( 100, 23, 9, 75, 5, 10, 2, 50, 7, 96, 1, 40 );
my @sortedLexically   = sort @array2;
my @sortedNumerically = sort { $a <=> $b } @array2;
print "Unsorted:    @array2/n";
print "Lexically:   @sortedLexically/n";
print "Numerically: @sortedNumerically/n";


[root@drbd-2 crontab]# ./join.pl
Original:    0 1 2 3 4 5 6 7 8 9
Reversed:    9 8 7 6 5 4 3 2 1 0

Unsorted:    100 23 9 75 5 10 2 50 7 96 1 40
Lexically:   1 10 100 2 23 40 5 50 7 75 9 96
Numerically: 1 2 5 7 9 10 23 40 50 75 96 100
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: perl-text-parsewords是一个Perl模块,用于解析文本并将其分解成单词的工具。它提供了一种简单而灵活的方法来方便地处理文本数据。 通过使用该模块,我们可以将文本数据分解成单词或标记,并且可以根据需要指定各种选项来控制解析过程。该模块支持多种解析模式,包括分解成单词、删除注释和其他特殊字符等。 使用该模块的基本语法如下: use Text::ParseWords; my @words = parse_line('\tHello, "World"!'); 以上代码将解析输入的字符串,并将其分解成由各个单词组成的数组。 该模块还提供了有效地处理包含引号、转义字符和嵌套括号等特殊情况的文本数据的功能。 例如,当解析一个带有引号的字符串时,可以使用quote_words函数来确保正确地分解字符串内容: use Text::ParseWords; my @words = quote_words(qw(This is a 'quoted string')); 以上代码将返回一个包含分解后的单词的数组,其中包括带有引号的字符串。 总之,perl-text-parsewords是一个有用的Perl模块,可用于解析文本并将其分解成单词或标记。它提供了很多选项来控制解析的过程,并且可以高效地处理各种特殊情况,使得文本处理变得更加方便和灵活。 ### 回答2: perl-text-parsewords是一个用于解析文本字符串的Perl模块。它提供了一种简单有效的方法来将文本字符串拆分为词语或标记。 使用该模块,您可以将文本字符串拆分为单词、标点符号或者基于自定义的分隔符进行拆分。它还可以处理转义字符和引号,以及处理细节,例如连字符、缩写等。 该模块可以用于多种目的,例如解析命令行参数、解析文本文件、处理自然语言处理任务等。它在处理大量文本数据时尤其有用,可以快速而准确地将文本字符串拆分为可处理的组件。 使用perl-text-parsewords模块非常简单。您只需要在Perl脚本中包含模块,然后使用其提供的函数对字符串进行解析。例如,使用"parse_line"函数可以将文本字符串拆分为标记数组,方便后续处理。 总之,perl-text-parsewords是一个非常实用的Perl模块,可以帮助您解析文本字符串并将其拆分为有用的组件。无论您在哪个领域使用它,它都能提供灵活而高效的解析功能。 ### 回答3: perl-text-parsewords是一个Perl模块,用于对文本进行解析和分词。它提供了一些函数,用于将文本字符串分解为单词和字符串,以及对转义字符和引号进行处理。 该模块的主要功能是将文本分解为单个单词或字符串。它可以处理引号和转义符,以便正确地识别字符串中的空格和特殊字符。 使用该模块,您可以将字符串分解为词语,这在处理文本文件和解析命令行参数时非常有用。您可以通过指定分隔符(例如空格、制表符或其他字符)来自定义单词的分隔符。 在解析字符串时,parsewords模块提供了一些选项,您可以使用这些选项来指定如何处理引号、转义符和空格。它还提供了一些方法来检测特定类型的单词,例如标识符、数字等。 此外,parsewords模块还可以处理多行字符串,允许您在行之间保留特定的文本格式。 总之,perl-text-parsewords是一个强大而灵活的Perl模块,用于解析和分词文本字符串。它提供了丰富的功能和选项,使得对文本进行解析和处理更加简单和高效。无论是处理文本文件还是解析命令行参数,它都是一个非常有用的工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值