更多关于您的记录布局的信息将有助于帮助人们帮助您。如果记录链接到ID号,则可以使用以“id”为键的哈希,并将记录存储为字符串或数组引用作为哈希值。
my %records;
$records{ $id_number } = "Record for $id_number";
## OR
$records{ $id_number } = ['Record', 'for', $id_number];
这将允许您查找复杂度为O(1)的ID,并轻松操作相应的记录。
# Assuming the records are stored in @records
for my $record (@records) {
$recStore{$record}++;
}
# To search for a record
my $recToFind = 4343;
my $recExists = $recStore{$recToFind} || 0;
哈希的键是从数据库中检索到的ID,相应的值是找到ID的次数,因此对于重复记录,$receixists将大于1,对于不存在的记录,它将等于0。要获得所有ID的数字排序列表,您可以编写
my @sortedID = sort {$a <=> $b} keys %records;