my %error_per_file; my %error_type; while(my ($filename, $errnum) = get_row_elements($some,$params,$here)) { $error_type{$errnum}++; $error_per_file{$filename}->{$errnum}++; }