my $cur_superclass; my @records; while () { my ($u, $superclass,$rel,$v) = (split)[0,1,2,3]; $cur_superclass = $superclass if !defined($cur_superclass); if ($cur_superlclass ne $superclass) { my $conteggio=calcolo(\@records); print OUT "$u"."\t".$rel."\t".$v."\t".$conteggio."\n"; @records = (); } push @records, [ $u, $superclass, $rel, $v ]; $cur_superclass = $superclass; }