Я пытаюсь отобразить данные ha sh в порядке номеров записей (то есть отсортированы по ключам ha sh). Я сохранил записи в ха sh с соответствующим номером записи.
Что я здесь не так делаю?
Вот некоторый похожий код, который показывает проблему
#!/usr/bin/env perl
use strict;
use Time::HiRes;
my $rec = {};
my %Data;
my $recno = 1;
while ($recno <= 100) {
$rec->{recno} = $recno;
$rec->{dt} = qx/date/;
$Data{ $rec->{recno} } = $rec;
# Initialize
Time::HiRes::sleep(0.2);
$recno++;
$rec = {};
}
my $count = keys %Data;
print "Found $count records\n";
foreach my $rec (sort { $Data{$a} <=> $Data{$b} } keys %Data) {
#foreach my $rec (sort { $Data{$a} cmp $Data{$b} } keys %Data) {
print " Rec No: --".$rec."--\n";
print " Date: ". $Data{$rec}{dt}."\n";
}
Иногда отображает ха sh по порядку, иногда нет. Отчасти связано с количеством записей, на которые это похоже.
Found 100 records
Rec No: --1--
Date: Thu Feb 13 15:19:46 UTC 2020
Rec No: --31--
Date: Thu Feb 13 15:19:52 UTC 2020
Rec No: --32--
Date: Thu Feb 13 15:19:52 UTC 2020
Rec No: --33--
Date: Thu Feb 13 15:19:52 UTC 2020
Rec No: --34--
Date: Thu Feb 13 15:19:52 UTC 2020
Rec No: --35--
Date: Thu Feb 13 15:19:52 UTC 2020
Rec No: --36--
Date: Thu Feb 13 15:19:53 UTC 2020