#!/usr/bin/perl # muhkeimmat sanaparit, arza 2015 use utf8; use open qw(:std :utf8); my @words; my @muhkeimmat; my $maxmuhkeus=0; sub muhkeus { ($string) = @_; $string =~ s/(.)(?=.*?\1)//g; return length($string); } while (<>) { for $word (split /[\W,.!?]+/) { $words[muhkeus($word)]{lc($word)}=1; } } for $i (reverse 1..$#words) { $word1_pos=0; for $word1 (keys %{$words[$i]}) { $minmuhkeus=$maxmuhkeus-$i; if($minmuhkeus<1){ $minmuhkeus=1; } for $j (reverse $minmuhkeus..$i) { @words2 = keys %{$words[$j]}; if($i==$j){ @words2 = splice (@words2, $word1_pos); } for $word2 (@words2) { $muhkeus=muhkeus("$word1$word2"); if($muhkeus>$maxmuhkeus){ @muhkeimmat=("$word1 + $word2"); $maxmuhkeus=$muhkeus; }elsif($muhkeus==$maxmuhkeus){ push @muhkeimmat, "$word1 + $word2"; } } } $word1_pos++; } } print join "\n", @muhkeimmat;