Mich_ .... aiuto:

open (DAT, "$db_file_name") || die "Non posso aprire $db_file_name: $!\n";

LINE: while ($record = <DAT>) {
chop ($record);
$n_record++ ;
@campo = split(/;/,$record);

if (@FAM[$i] eq $campo[2]) {
$numhits++; # Ma lo contiamo sempre!
push (@hits, @campo);
# @hits = sort{$hits{$a} <=> $hits{$b}} @hits;
}
}
close (DAT);

@hits contiene la stringa di dati che si ottiene quando risulta vero il confronto @FAM[$i] eq $campo[2].
Non si può ordinare per campo vero?
E' la strada corretta? Come proseguo per il confronto tra elementi di uno stesso campo?

Sono arenato... mentalmente.
Grazie