Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays arg 1到键的类型必须是“1”附近的散列(非专用数组)@数组)";_Arrays_Perl - Fatal编程技术网

Arrays arg 1到键的类型必须是“1”附近的散列(非专用数组)@数组)";

Arrays arg 1到键的类型必须是“1”附近的散列(非专用数组)@数组)";,arrays,perl,Arrays,Perl,尝试运行以下代码时出现以下错误 密钥的arg 1类型必须是“@array”附近的哈希(非私有数组) 代码的思想是比较两个数组的数据。此方法适用于my home server,但不适用于需要在其上实现的服务器 我不知道该去哪里 foreach (sort keys @array){ unless (exists $group_list[$_]){ print "$_: not found\n"; next; }

尝试运行以下代码时出现以下错误

密钥的arg 1类型必须是“@array”附近的哈希(非私有数组)

代码的思想是比较两个数组的数据。此方法适用于my home server,但不适用于需要在其上实现的服务器

我不知道该去哪里

 foreach (sort keys @array){
        unless (exists $group_list[$_]){
            print "$_: not found\n";
            next;
        }
        if (equivalent($array[$_],$group_list[$_])){
            print "$_: values are equal\n"
        }else{
            print "$_: values are not equal\n";
        }
    }

如果需要更多信息,请告诉我。

keys@array
仅适用于较新的PERL,因此通常应避免使用。我们可以直接写下索引的范围,而无需太多额外的语法:除非设置了
$[
,否则索引从
0
开始,是一个连续的范围,直到最后一个索引
$\array
。然后:

for (sort 0 .. $#array)
请注意,此范围已按数字排序,并且
排序
将按字母顺序对其排序。如果不需要此行为,请删除
排序

for (0 .. $#array)
这是迭代所有索引的正常习惯用法


另外请注意(除非您执行非常不寻常的操作),
exists$array[$\uz]
可能为真,因此此测试不太可能有用(它可能为假,例如,如果您预先将数组扩展到特定大小:
$\array=$size-1
)。测试一个条目是否定义了
更有可能有用。

keys@array
仅适用于较新的PERL,因此通常应该避免。我们可以直接写下索引范围,而无需太多额外的语法:除非
$[
已设置,索引以
0
开始,是一个连续范围,一直到最后一个索引
$#array
。然后:

for (sort 0 .. $#array)
请注意,此范围已按数字排序,并且
排序
将按字母顺序对其排序。如果不需要此行为,请删除
排序

for (0 .. $#array)
这是迭代所有索引的正常习惯用法


另外请注意(除非您执行非常不寻常的操作),
exists$array[$\uz]
可能为真,因此此测试不太可能有用(它可能为假,例如,如果您预先将数组扩展到特定大小:
$\array=$size-1
)。测试一个条目是否定义了
更有可能有用。

keys@array
仅适用于较新的PERL,因此通常应该避免。我们可以直接写下索引范围,而无需太多额外的语法:除非
$[
已设置,索引以
0
开始,是一个连续范围,一直到最后一个索引
$#array
。然后:

for (sort 0 .. $#array)
请注意,此范围已按数字排序,并且
排序
将按字母顺序对其排序。如果不需要此行为,请删除
排序

for (0 .. $#array)
这是迭代所有索引的正常习惯用法


另外请注意(除非您执行非常不寻常的操作),
exists$array[$\uz]
可能为真,因此此测试不太可能有用(它可能为假,例如,如果您预先将数组扩展到特定大小:
$\array=$size-1
)。测试一个条目是否定义了
更有可能有用。

keys@array
仅适用于较新的PERL,因此通常应该避免。我们可以直接写下索引范围,而无需太多额外的语法:除非
$[
已设置,索引以
0
开始,是一个连续范围,一直到最后一个索引
$#array
。然后:

for (sort 0 .. $#array)
请注意,此范围已按数字排序,并且
排序
将按字母顺序对其排序。如果不需要此行为,请删除
排序

for (0 .. $#array)
这是迭代所有索引的正常习惯用法


另外请注意(除非您执行非常不寻常的操作),
exists$array[$\uz]
可能为真,因此此测试不太可能有用(它可能为假,例如,如果您预先将数组扩展到特定大小:
$\array=$size-1
)。测试一个条目是否已定义更可能有用。

键只在Perl中用于哈希时才定义。您想在这里做什么?只需按值对数组排序?
@array
是一个数组,
排序键
要遍历哈希的键。
group\u list
也是一个数组吗您可以对我的$i(0..$#数组){}使用
在将索引存储在
$i
中时遍历数组。我试图将两个数组的数据相互比较。该方法在我的家庭服务器上运行,但在需要实现它的服务器上不起作用。服务器正在运行5.10.1。除了更新perl版本之外,还有其他方法吗?
密钥仅在使用时定义在Perl中的散列上。您想在这里实现什么?只需按值对数组进行排序?
@array
是一个数组,
排序键
是遍历散列的键。
group_list
也是一个数组吗?您可以对我的$i(0..$#array){
在将索引存储在
$i
中时遍历数组。我试图将两个数组的数据相互比较。该方法在我的家庭服务器上运行,但在需要实现它的服务器上不起作用。服务器正在运行5.10.1。除了更新perl版本之外,还有其他方法吗?
密钥仅在使用时定义在Perl中的散列上。您想在这里实现什么?只需按值对数组进行排序?
@array
是一个数组,
排序键
是遍历散列的键。
group_list
也是一个数组吗?您可以对我的$i(0..$#array){
在将索引存储在
$i
中时遍历数组。我试图将两个数组的数据相互比较。该方法在我的家庭服务器上运行,但在需要实现它的服务器上不起作用。服务器正在运行5.10.1。除了更新perl版本之外,还有其他方法吗?
密钥仅在使用时定义在Perl中的散列上。什么