Я набор строк с переменными размерами, например:Perl - Hash хэш и столбцов :(
AAA23
AB1D1
A1BC
AAB212
Моя цель состоит в алфавитном порядке и уникальных персонажах, собранных для КОЛОННЫ, таких как:
первая колонка: AAAA
второй колонке: AB1A
и так далее ...
В этот момент я был в состоянии извлечь сообщения через хэш хэшей. Но теперь, как я могу сортировать данные? Могу ли я для каждого хеша хеша создать новый массив?
Большое вам спасибо за помощь!
Al
Мой код:
#!/usr/bin/perl
use strict;
use warnings;
my @sessions = (
"AAAA",
"AAAC",
"ABAB",
"ABAD"
);
my $length_max = 0;
my $length_tmp = 0;
my %columns;
foreach my $string (@sessions){
my $l = length($string);
if ($l > $length_tmp){
$length_max = $l;
}
}
print "max legth : $length_max\n\n";
my $n = 1;
foreach my $string (@sessions){
my @ch = split("",$string);
for my $col (1..$length_max){
$columns{$n}{$col} = $ch[$col-1];
}
$n++;
}
foreach my $col (keys %columns) {
print "colonna : $col\n";
my $deref = $columns{$col};
foreach my $pos (keys %$deref){
print " posizione : $pos --> $$deref{$pos}\n";
}
print "\n";
}
exit(0);
Что вы собираетесь делать в пятом и шестой столбцы, где отсутствуют некоторые символы? – Zaid
Вы говорите, что вам нужны уникальные символы в каждом столбце.Для английского говорящего с некоторым математическим обучением это означает, что каждый столбец не должен содержать повторяющихся символов, но ожидаемые ответы для первого и второго столбцов - «AAAA» и «AB1A». Как сортировать цифры по алфавиту? Учитывая, что 'A' появляется как в начале, так и в конце ответа второго столбца, он, похоже, не сортируется вообще. –