Немного больше информации о вашем макете записей поможет вам помочь людям. Если ваши записи связаны с идентификационными номерами, то вы можете использовать хэш с «ид» в качестве ключа и сохранить запись в виде строки или ссылку на массив в качестве значения хэш-
my %records;
$records{ $id_number } = "Record for $id_number";
## OR
$records{ $id_number } = ['Record', 'for', $id_number];
Это позволит вам для поиска id со сложностью O (1) и легко манипулировать соответствующей записью.
# 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;
Ключи хэша являются идентификаторы извлекаются из базы данных и соответствующие значения, сколько раз был найден идентификатор, так что для повторяющихся записей $ recExists будет больше 1, и не существует он будет равен 0. Чтобы получить список всех идентификаторов, отсортированных численно, вы можете написать
my @sortedID = sort {$a <=> $b} keys %records;
Непонятно, что вы хотите сделать. Возможно, вам захочется описать, какие данные вы хотите сохранить и как вы хотите получить к нему доступ. – hillu
У меня есть 10000 записей и хранятся в одном файле strcuture и вы хотите выполнить поиск в этой записи. – joe
У меня есть идентификаторы и возвращаются из базы данных d и хранятся в одном файле strtucure и поиск некоторых записей. – joe