Сценарий ниже будет печатать все скалярные значения для каждого элемента для каждого ключа, как печатать только первое скалярное значение из каждого элемента в хэше.
#!/usr/bin/perl
use warnings;
use strict;
use Tie::IxHash;
my %KEY_VALUE;
tie %KEY_VALUE,'Tie::IxHash';
my %KEY_VALUE= (
0 => ['A','A','C','B','D'],
1 => ['C','C','C','F','E','E'],
2 => ['Z','X','X','A','A','Y','Y'],
3 => ['A','A','B','B'],
4 => ['E','E','R','M','M'],
5 => ['D','F','F','F','E','E'],
);
while (my ($k, $v) = each %KEY_VALUE)
{
print "KEY= $k ";
print scalar "VALUE= @$v\n"; #But this will print all the value
}
Требуемый вывод:
KEY= 0 VALUE:0 2 3 4 #The scalar value of first A C B D, start with 0
KEY= 1 VALUE:0 3 4 #The scalar value of first C F E
KEY= 2 VALUE:0 1 3 5 #The scalar value of first Z X A Y
KEY= 3 VALUE:0 2 #The scalar value of first A B
KEY= 4 VALUE:0 2 3 #The scalar value of first E R M
KEY= 5 VALUE:0 1 4 #The scalar value of first D F E