У меня есть три хэша, каждый из которых я хотел бы взорвать в хэш массивов. Каждый из них может быть передан в подпрограмму с разделяемой функцией, но для этого требуется, чтобы одна и та же подпрограмма вызывалась 3 раза. Я пытался перебрать каждый хэш, и они разделили его, но безуспешно. Можно ли это сделать без вызова подпрограммы? Код, который я пробовал:
#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
my %hash1 = (
A => "AAAAAAAAAA",
B => "AAAAANAAAA",
C => "AAAAAXAAAA",
D => "AAXAAAAAAA",
E => "AAAAAAAAAX",
);
my %hash2 = (
F => "BBBBBBBBBB",
G => "BBBBBBBBBB",
H => "BBXBBBBBBB",
I => "BBBBBBBBBB",
J => "AAAAANAAAA",
);
foreach my $ref ( \%hash1, \%hash2 ) {
while ( my ($key, $value) = each %$ref) {
@{ $ref->{$key} } = split (//, $value );
}
}
print Dumper %hash1;
но выдает предупреждение:
Can't use string ("AAAAAAAAAA") as an ARRAY ref while "strict refs" in use
Заранее спасибо.