Perl 数组

2025年3月21日 | 阅读 4 分钟

Perl 数组变量存储有序的标量值列表。

要引用 Perl 数组的单个元素,变量名将以美元 ($) 符号开头,后跟方括号中的元素索引。

语法


Perl 简单数组示例

这是一个使用 Perl 数组的简单示例。

输出

2015
2016
2017
One
Two
Three

在上面的示例中,我们定义了两个数组,一个包含数字元素,另一个包含字符串元素。 这两个数组都使用它们的索引元素打印出来。


Perl 数组访问

要访问 Perl 数组的单个元素,请在变量名前使用 ($) 符号。 您可以假设 $ 符号代表单数,而 @ 符号代表复数。

变量名后面将是带索引号的方括号。 索引将从左侧的 0 开始,从右侧的 -1 开始。

输出

Jan
Feb
Aug
Oct
Jul
Oct

Perl 数组大小或长度

数组的大小由数组的标量上下文确定。 返回值将始终大于最大索引。 简而言之,数组的大小将为 ($#array + 1)。 这里,$#array 是数组的最大索引。

输出

Size: 6
Maximum Index: 5

在输出中,只有三个元素包含信息,但给定的数组总共有 5 个元素。


Perl 数组函数

您可以使用一些数组函数从数组中添加或删除一个元素。

我们将讨论以下数组 Perl 函数

  • Push
  • Pop
  • 移位
  • Unshift

1) Push 到数组

push 数组函数将一个新元素追加到数组的末尾。

输出

pink red blue orange

在上面的程序中,"orange" 元素被添加到数组的末尾。


2) Pop 数组

pop 数组函数从数组中删除最后一个元素。

输出

pink red 

在上面的程序中,"blue" 元素从数组的末尾被移除。


3) Shift 数组

shift 数组函数删除数组最左边的元素,从而将数组缩短 1。

输出

red blue

在上面的程序中,"pink" 从数组中被移除。


4) Unshift 数组

unshift 数组函数将一个新元素添加到数组的开头。

输出

orange pink red blue 

在上面的程序中,"orange" 被添加到数组的开头。


Perl 替换数组元素,splice()

splice 数组函数删除定义的元素,并用给定的列表替换它们。

输出

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 字符串到数组,split()

在 split() 函数的帮助下,我们可以将一个字符串拆分成字符串数组并返回它。

输出

Will

在上面的程序中,我们将 $string 转换为连字符 (-) 值的数组。 现在从这个数组中,我们打印了数组的第四个元素。


Perl 数组到字符串,join()

join() 函数用于组合数组以创建字符串。 它将单独的数组组合成一个字符串并返回它。

输出

Where-There-Is-A-Will-There-Is-A-Way

在上面的程序中,该字符串在连字符 (-) 处被分割。 我们在 $string_full 中使用了 join() 并打印了它。


Perl 合并两个数组,merged()

可以使用 merged() 函数将两个数组合并在一起,作为一个字符串,删除它们之间的所有逗号。

输出

Girl in front of me is very beautiful

在上面的程序中,array1 和 array2 合并为一个字符串,然后打印出来。


Perl 排序数组,sort()

要对数组进行排序,使用 sort() 数组函数。 sort() 函数根据 ASCII 标准对数组的所有元素进行排序。

输出

Original array: sun mon tue wed thu fri sat 
Sorted array: fri mon sat sun thu tue wed

在上面的程序中,我们打印了原始数组和排序后的数组。 该数组按字母顺序排序。