… | |
… | |
151 | for my $re (@regexps) { |
151 | for my $re (@regexps) { |
152 | for (@files) { |
152 | for (@files) { |
153 | #print "$_->[0]\n" if $_->[1] =~ /^kisa.tan/; |
153 | #print "$_->[0]\n" if $_->[1] =~ /^kisa.tan/; |
154 | #if ($_->[0] =~ $re && $_->[0] =~ $info->[1]) { |
154 | #if ($_->[0] =~ $re && $_->[0] =~ $info->[1]) { |
155 | if ($_->[0] =~ $re) { |
155 | if ($_->[0] =~ $re) { |
156 | push @{ ($cluster{$1} ||= []) }, $_->[1]; |
156 | $cluster{$1}{$_->[1]} = 1; |
157 | # print "PUSH $1 : $_->[1] $_->[0] $re $info->[1] \n"; |
157 | # print "PUSH $1 : $_->[1] $_->[0] $re $info->[1] \n"; |
158 | } |
158 | } |
159 | } |
159 | } |
160 | } |
160 | } |
161 | #push @{$cluster{"THE REST"}->[1]}, $_ for keys %chk_files; |
161 | #push @{$cluster{"THE REST"}->[1]}, $_ for keys %chk_files; |
162 | |
162 | |
163 | my %file_sorted; |
163 | my %file_sorted; |
164 | |
164 | |
165 | my @rest; |
165 | my @rest; |
166 | while (my ($k, $v) = each %cluster) { |
166 | for my $k (keys %cluster) { |
167 | my $n = scalar @$v; |
167 | my @v = keys %{ $cluster{$k }}; |
|
|
168 | $cluster{$k} = \@v; |
168 | if ($n > 2) { |
169 | if (@v > 2) { |
169 | push @{$self->{list}{data}}, [$n, $k]; |
170 | push @{$self->{list}{data}}, [scalar @v, $k]; |
170 | $file_sorted{$_} = 1 for @$v; |
171 | $file_sorted{$_} = 1 for @v; |
171 | } |
172 | } |
172 | } |
173 | } |
173 | |
174 | |
174 | my @remaining = grep !$file_sorted{$_}, |
175 | my @remaining = grep !$file_sorted{$_}, |
175 | map $_->[1], |
176 | map $_->[1], |