#!/usr/bin/perl $|=1; while (<>) { chomp; my ($block, $shapes) = split /: /; push @{$seen{$shapes}}, $block; } for my $k (keys %seen) { if (@{$seen{$k}} > 1) { print "$k: @{$seen{$k}}\n"; } }