Anagrams

Score: 108.39 (pass)

#!perl -nl
$k{$w=join'',sort split//}++;@$w=sort@$w,$_}for(sort{@$a<=>@$b||$$a[0]cmp$$b[0]}keys%k){print"@$_"if$#$_

Score: 111.38 (pass)

#!perl -nl
$w=join'',sort split//;$k{$w}++;@$w=sort@$w,$_}for(sort{@$a<=>@$b||$$a[0]cmp$$b[0]}keys%k){print"@$_"if$#$_

Score: 113.36 (pass)

#!perl -nl
$w=join'',sort split//;$k{$w}++;@$w=sort@$w,$_;}for(sort{@$a<=>@$b or$$a[0]cmp$$b[0]}keys%k){print"@$_"if$#$_

Score: 122.34 (pass)

#!perl -nl
$w=join'',sort split//;$k{$w}++;@$w=sort@$w,$_;}if(eof){for(sort{@$a<=>@$b or$$a[0]cmp$$b[0]}keys%k){print"@$_"if$#$_}

Score: 123.33 (pass)

#!perl -nl
$w=join'',sort split//;$k{$w}++;@$w=sort@$w,$_;if(eof){for(sort{@$a<=>@$b or$$a[0]cmp$$b[0]}keys%k){print"@$_"if@$_>1}}

Score: 129.32 (pass)

#!perl -nl
$w=join'',sort split//;push@k,$w if!@$w;@$w=sort@$w,$_;if(eof){for$k(sort{@$a<=>@$b or$$a[0]cmp$$b[0]}@k){print"@$k"if@$k>1}}

Score: 135.30 (pass)

#!perl
while(<>){chomp;$w=join'',sort split//;push@k,$w if!@$w;@$w=sort@$w,$_;}for$k(sort{@$a<=>@$b or$$a[0]cmp$$b[0]}@k){print"@$k\n"if@$k>1}

Score: 140.33 (fail)

#!perl
while(){chomp;$w=join'',sort split//;push@k,$w if!@$w;@$w=sort@$w,$_;}for$k(sort{@$a<=>@$b or$$a[0]cmp$$b[0]}@k){print"@$k\n"if@$k>1}

Score: 196.26 (pass)

#!perl -nl
$w=join'',sort split//;$k{$w}++;@$w=sort@$w,$_;}for(sort{@$a<=>@$b or$$a[0]cmp$$b[0]}keys%k){print"@$_"if$#$_
# not something very unorthodox but I like it :-)
# see the order of { and } signs

Score: 330.18 (pass)

#!perl
chomp (@x = );
while ($o = shift @x) {
    $w = join '', sort split //,$o;
    push @{$h{$w}}, $o;
}
foreach $k (keys %h) {
    delete $h{$k} if (@{$h{$k}} == 1);
    @{$h{$k}} = sort @{$h{$k}};
}

foreach $k (sort {@{$h{$a}} <=> @{$h{$b}} or $h{$a}->[0] cmp $h{$b}->[0]} keys %h) {
    print "@{$h{$k}}\n" if @{$h{$k}}>1;
}

Score: 339.18 (fail)

#!perl
chomp (@x = );
while (@x) {
    $o = shift @x;
    $w = join '', sort split //,$o;
    push @{$h{$w}}, $o;
}
foreach $k (keys %h) {
    delete $h{$k} if (@{$h{$k}} == 1);
    @{$h{$k}} = sort @{$h{$k}};
}

foreach $k (sort {@{$h{$a}} <=> @{$h{$b}} and $h{$a}->[0] cmp $h{$b}->[0]} keys %h) {
    print "@{$h{$k}}\n" if @{$h{$k}}>1;
}