735 次浏览
在 Perl 哈希中添加新的键值对可以使用一行代码,只需使用简单的赋值运算符即可。但是,要从哈希中删除元素,需要使用 delete 函数,如下例所示 - 示例 Live Demo#!/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 的数组,然后您可以获取数组的大小,如下所示 - 示例 Live Demo#!/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,无论其值是什么 - 示例 Live Demo#!/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此函数返回命名哈希的所有键的数组。以下是示例 - 示例 Live Demo#!/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 中访问哈希中的单个元素时,必须在变量前加上美元符号 ($),然后在变量名称后用花括号附加元素键。例如 - 示例 Live Demo#!/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 中的列表表示法与数组的表示法相同。您可以通过将方括号附加到列表并提供一个或多个索引来从数组中提取元素 - 示例 Live Demo#!/usr/bin/perl $var = (5,4,3,2,1)[4]; print "var 的值 = $var"输出这将产生以下结果 -var 的值 = 1类似地,我们可以提取切片,尽管不需要前导 @ 字符 - 示例 Live Demo#!/usr/bin/perl @list = (5,4,3,2,1)[1..3]; print "list 的值 = @list";输出这将产生以下结果 -list 的值 = 4 3 2
1K+ 次浏览
因为 Perl 中的数组只是用逗号分隔的值序列,所以您可以将它们组合在一起,如下所示 - 示例 Live Demo#!/usr/bin/perl @numbers = (1,3,(4,5,6)); print "numbers = @numbers";输出这将产生以下结果 -numbers = 1 3 4 5 6嵌入式数组只是成为主数组的一部分,如下所示 - 示例 Live Demo#!/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,则所有数组都将使用基于一的索引。建议不要使用除零以外的任何其他索引。但是,让我们举一个示例来演示 $[ 变量的用法 - 示例 Live Demo#!/usr/bin/perl # 定义一个数组 @foods = qw(pizza steak chicken burgers); print "Foods: @foods"; # 让我们 ... 阅读更多
658 次浏览
Perl 中的 sort() 函数根据 ASCII 数字标准对数组的每个元素进行排序。此函数具有以下语法 - 语法sort [ SUBROUTINE ] LIST此函数对 LIST 进行排序并返回排序后的数组值。如果指定了 SUBROUTINE,则在排序元素时会应用 SUBROUTINE 内部的指定逻辑。示例 Live Demo#!/usr/bin/perl # 定义一个数组 @foods = qw(pizza steak chicken burgers); print "Before: @foods"; # 对此数组进行排序 @foods = sort(@foods); print "After: @foods";输出这将产生以下结果 -Before: pizza steak chicken burgers After: burgers chicken pizza steak请注意,排序是基于 ... 阅读更多