735 次浏览
在 Perl 哈希中添加新的键值对可以使用一行代码和简单的赋值运算符完成。但是,要从哈希中删除元素,需要使用 delete 函数,如下例所示:示例 实时演示#!/usr/bin/perl %data = ('John Paul' => 45, 'Lisa' => 30, 'Kumar' => 40); @keys = keys %data; $size = @keys; print "1 - 哈希大小:是 $size"; # 向哈希中添加元素; $data{'Ali'} = 55; @keys = keys %data; $size = @keys; print "2 - 哈希大小:是 $size"; # 删除相同的 ... 阅读更多
2K+ 次浏览
您可以通过对 keys 或 values 使用标量上下文来获取 Perl 中哈希的大小(即元素的数量)。简单来说,您首先必须获取 keys 或 values 的数组,然后才能获取数组的大小,如下所示:示例 实时演示#!/usr/bin/perl %data = ('John Paul' => 45, 'Lisa' => 30, 'Kumar' => 40); @keys = keys %data; $size = @keys; print "1 - 哈希大小:是 $size"; @values = values %data; $size = @values; print "2 - 哈希大小:是 $size";输出这将产生以下结果 ... 阅读更多
477 次浏览
如果您尝试访问 Perl 哈希中不存在的键值对,通常会得到未定义的值,如果启用了警告,则会在运行时生成警告。您可以使用 exists 函数来解决此问题,如果命名键存在,则该函数返回 true,无论其值是什么:示例 实时演示#!/usr/bin/perl %data = ('John Paul' => 45, 'Lisa' => 30, 'Kumar' => 40); if( exists($data{'Lisa'} ) ) { print "Lisa 是 $data{'Lisa'} 岁"; } else { print "我不知道 Lisa 的年龄"; ... 阅读更多
3K+ 次浏览
您可以使用 keys 函数获取 Perl 哈希中所有键的列表,该函数具有以下语法:keys %HASH此函数返回命名哈希的所有键的数组。以下是示例:示例 实时演示#!/usr/bin/perl %data = ('John Paul' => 45, 'Lisa' => 30, 'Kumar' => 40); @names = keys %data; print "$names[0]"; print "$names[1]"; print "$names[2]";输出这将产生以下结果:Lisa John Paul Kumar同样,您可以使用 values 函数来获取所有值的列表。此函数具有以下语法:语法values %HASH此函数返回一个普通的 ... 阅读更多
303 次浏览
访问 Perl 哈希中的单个元素时,必须在变量前加上美元符号 ($),然后在变量名后用花括号括起元素键。例如:示例 实时演示#!/usr/bin/perl %data = ('John Paul' => 45, 'Lisa' => 30, 'Kumar' => 40); print "$data{'John Paul'}"; print "$data{'Lisa'}"; print "$data{'Kumar'}";输出这将产生以下结果:45 30 40
149 次浏览
Perl 哈希可以通过以下两种方式之一创建。在第一种方法中,您可以逐个为命名键赋值:$data{'John Paul'} = 45; $data{'Lisa'} = 30; $data{'Kumar'} = 40;在第二种情况下,您可以使用列表,该列表通过从列表中获取单个对来转换:对的第一个元素用作键,第二个元素用作值。例如:%data = ('John Paul', 45, 'Lisa', 30, 'Kumar', 40);为了清晰起见,您可以使用 => 作为别名,以指示键值对,如下所示:%data = ... 阅读更多
421 次浏览
Perl 中的列表表示法与数组的列表表示法相同。您可以通过在列表后附加方括号并给出一个或多个索引来从数组中提取元素:示例 实时演示#!/usr/bin/perl $var = (5,4,3,2,1)[4]; print "var 的值为 $var"输出这将产生以下结果:var 的值为 1同样,我们可以提取切片,尽管不需要 @ 字符:示例 实时演示#!/usr/bin/perl @list = (5,4,3,2,1)[1..3]; print "list 的值为 @list";输出这将产生以下结果:list 的值为 4 3 2
1K+ 次浏览
因为 Perl 中的数组只是一系列用逗号分隔的值,所以您可以将它们组合在一起,如下所示:示例 实时演示#!/usr/bin/perl @numbers = (1,3,(4,5,6)); print "numbers = @numbers";输出这将产生以下结果:numbers = 1 3 4 5 6嵌入式数组只是成为主数组的一部分,如下所示:示例 实时演示#!/usr/bin/perl @odd = (1,3,5); @even = (2, 4, 6); @numbers = (@odd, @even); print "numbers = @numbers";输出这将产生以下结果:numbers = 1 3 5 2 4 6
304 次浏览
Perl 提供了许多特殊变量,这些变量具有预定义的含义。我们有一个特殊变量,写成 $[。这个特殊变量是一个标量,包含所有数组的第一个索引。因为 Perl 数组使用基于零的索引,所以 $[ 几乎总是 0。但是,如果您将 $[ 设置为 1,那么所有数组都将使用基于一的索引。建议不要使用除零以外的任何其他索引。但是,让我们举一个例子来演示 $[ 变量的用法:示例 实时演示#!/usr/bin/perl # 定义一个数组 @foods = qw(pizza steak chicken burgers); print "食物:@foods"; # 让我们 ... 阅读更多
658 次浏览
Perl 中的 sort() 函数根据 ASCII 数字标准对数组的每个元素进行排序。此函数具有以下语法:语法sort [ SUBROUTINE ] LIST此函数对 LIST 进行排序并返回排序后的数组值。如果指定了 SUBROUTINE,则在排序元素时会应用 SUBROUTINE 内的指定逻辑。示例 实时演示#!/usr/bin/perl # 定义一个数组 @foods = qw(pizza steak chicken burgers); print "排序前:@foods"; # 对此数组进行排序 @foods = sort(@foods); print "排序后:@foods";输出这将产生以下结果:排序前:pizza steak chicken burgers 排序后:burgers chicken pizza steak请注意,排序是基于 ... 阅读更多