【发布时间】:2017-09-22 00:33:50
【问题描述】:
我希望得到您的帮助,以了解如何将长数组添加到哈希键值,如何将键值分配给将要操作数据的临时数组,而不是分配数组(或什么我已经离开)回到相同的哈希键。 我正在寻找的示例如下:
#!/usr/bin/perl
use strict;
use warnings FATAL => 'all';
我的数组只包含整数
my @Array1 = ['01', '02', '03', '04', '09', '10', '11', '12'];
my @Array2 = ['05', '06', '07', '08', '03', '04', '09'];
my @Array3 = ['09', '10', '11', '12', '02', '03', , '07', '08' ];
my @ArrayN = ['N', 'N', 'N', 'N'];
我的哈希键由整数标识(有可能吗?)
my %Hash;
将数组分配给键值;
%Hash{'1'} = @Array1 (or $Array1);
%Hash{'2'} = @Array2 (or $Array2);
%Hash{'3'} = @Array3 (or $Array3);
%Hash{'N'} = @ArrayN (or $ArrayN);
将哈希键值分配给临时数组
my @TempArray = $Hash{'1'};
一些带有临时数组的进程,包括:
- (删除临时数组的第一个元素/项,假设 编号“01”');
- (检查数组是否有特定值,比如数字 03 和 09);
- (从数组中删除特定值,假设 数字 03 和 09');
- (检查数组中有多少元素/项);
将值分配回哈希
%Hash{'1'} = @TempArray;
我发现很多帖子没有太大帮助,因为它们没有谈论长数组。
【问题讨论】:
-
(1)
$array_reference = [ ... ]或@array = ( ... )(2) 哈希值是一个标量,所以前面需要$,并且必须分配一个reference一个数组(这是一个标量)。因此:$hash{'1'} = $array_reference或$hash{'1'} = \@array,其中 \ 接受一个引用,这里是一个数组 (3) 取消引用该数组引用以获取一个数组@TempArray = @{ $hash{'1'} }。最后:这个网站不是获取基本教程的好地方,而且这种问题明显是题外话。