#!perl
$x=sub{join'',sort split//;};chop(@A=sort<>);for(@A){if($a=$_){$A=&$x;$c=0;$_='';for(@A){if($A eq&$x){$a.=" $_";$c++;$_='';}}$a[$c].="$a\n"if$c;}}print @a;
|
#!perl
chomp(@B=<>);
@B=sort(@B);
while($_=shift(@B)){
next if(/#/);
$A=join'',sort split//;$a=$_;
for(@B){
$B=join'',sort split//;
if($A eq $B){
$a{$a}=$a unless(defined($a{$a}));
$a{$a}.=" ".$_;$c++;$_='#';}}
$a{$a}=100+$c.$a{$a} if($c>0);
$c=0;}
print map{substr($_,3),"\n"} sort values %a;
|