Perl教程
Perl控制语句
Perl高级

Perl 数组

Perl 数组

Perl 数组变量存储标量值的有序列表。
要引用 Perl 数组的单个元素,变量名将放在前面美元($) 符号后跟方括号中元素的索引。
语法:
@arrayName = (element1, element2, element3..);

Perl 简单数组示例

这是一个使用 Perl 数组的简单示例。
#!/usr/bin/perl
@num = (2015, 2016, 2017);             
@string = ("One", "Two", "Three");
print"$num[0]\n";
print"$num[1]\n";
print"$num[2]\n";
print"$string[0]\n";
print"$string[1]\n";
print"$string[2]\n";
输出:
2015
2016
2017
One
Two
Three
在上面的例子中,我们定义了两个数组,一个是数字元素,另一个是字符串元素。两个数组都打印了它们的索引元素。

Perl 数组访问

要访问 Perl 数组的单个元素,请在变量名前使用($) 符号。您可以假设$ 符号代表单数,@ 符号代表复数。
变量名后跟方括号,里面有索引号。索引将从左侧开始从 0 开始,从右侧开始-1、
@months = qw/Jan Feb Mar Apr May Jun Jul Aug Sept Oct Nov Dec/;
print"$months[0]\n";
print"$months[1]\n";
print"$months[7]\n";
print"$months[9]\n";
print"$months[6]\n";
print"$months[-3]\n";
输出:
Jan
Feb
Aug
Oct
Jul
Oct

Perl 数组大小或长度

数组的大小由数组的标量上下文决定。返回值将始终比最大索引大 1、简而言之,数组的大小将是($#array + 1)。这里,$#array 是数组的最大索引。
@array = (you, me, us);
$array[5] = 4;
$size = @array;
$index_max = $#array;
print"Size:  $size\n";
print"Maximum Index: $index_max\n";
输出:
Size: 6
Maximum Index: 5
输出中只有3个元素包含信息,但给定数组共有5个元素。

Perl 数组函数

您可以使用一些数组函数从数组中添加或删除元素。
我们将讨论以下数组 Perl功能:
流行 Shift 取消移位

1) 推入数组

推入数组函数在数组末尾追加一个新元素。
@array = ("pink", "red", "blue");
push @array, "orange";
print"@array\n";
输出:
pink red blue orange
在上面的程序中,在数组的末尾添加了"orange"元素。

2) 在数组上弹出

弹出数组函数从数组中删除最后一个元素。
@array = ("pink", "red", "blue");
pop @array;
print"@array\n";
输出:
pink red 
在上面的程序中,从数组的末尾删除了"blue"元素。

3) 数组移位

移位数组函数移除数组最左边的元素,从而将数组缩短1、
@array = ("pink", "red", "blue");
shift @array;
print"@array\n";
输出:
red blue
在上面的程序中,从数组中删除了"pink"。

4) Unshift on Array

unshift 数组函数在数组的开头添加一个新元素。
@array = ("pink", "red", "blue");
unshift @array, "orange";
print"@array\n";
输出:
orange pink red blue 
在上面的程序中,在数组的开头添加了"orange"。

Perl 替换数组元素,splice()

splice 数组函数删除定义的元素并用给定的列表替换它们。
@alpha = (A..Z);
print"Before-@alpha\n";
splice(@alpha, 8, 8, U..Z); 
print"After-@alpha\n";
输出:
Before-A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
After-   A B C D E F G H U V W X Y Z Q R S T U V W X Y Z
在上面的程序中,替换从第9个位置(I)开始计数到8个元素即P。

Perl Strings to Arrays, split()

在split()函数的帮助下,我们可以将一个字符串拆分成字符串数组并返回。
# original string
$string = "Where-There-Is-A-Will-There-Is-A-Way";
# transforming strings into arrays.
@string = split('-', $string);
print"$string[4]\n"; 
输出:
Will
在上面的程序中,我们将 $string 转换为连字符(-) 值处的数组。现在从这个数组,我们打印了数组的第四个元素。

Perl Arrays to Strings, join()

join() 函数用于将数组组合成字符串。它将单独的数组组合成一个字符串并返回它。
# original string
$string = "Where-There-Is-A-Will-There-Is-A-Way";
# transforming arrays into strings.
@string = split('-', $string);
$string_full = join( '-', @string );
print"$string_full\n";
输出:
Where-There-Is-A-Will-There-Is-A-Way
在上面的程序中,字符串在连字符(-) 处被分割。我们在 $string_full 中使用了 join() 并打印了它。

Perl 合并两个数组,merged()

可以使用merged() 函数将两个数组合并为一个字符串,删除它们之间的所有逗号。
#two arrays
@array1 = ("Girl", "in", "front", "of", "me");
@array2 = ("is", "very", "beautiful");
#merging both the arrays
@merged = (@array1, @array2);
print"@merged\n";
输出:
Girl in front of me is very beautiful
在上面的程序中,array1和array2合并为一个字符串,然后打印出来。

Perl 排序数组,sort()

要对数组进行排序,使用 sort() 数组函数。 sort() 函数根据 ASCII 标准对数组的所有元素进行排序。
# defining array
@days = ("sun", "mon", "tue", "wed", "thu", "fri", "sat");
print"Original array: @days\n";
# sorting array
@days = sort(@days);
print"Sorted array: @days\n";
输出:
Original array: sun mon tue wed thu fri sat 
Sorted array: fri mon sat sun thu tue wed
在上面的程序中,我们打印了原始数组和排序数组。此数组按字母顺序排序。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4