use strict;
use utf8;
binmode STDOUT, ":utf8";

sub auto_abbreviate {
    my($string) = @_;
    my @words = split ' ', $string;
    my $max = 0;
    return '' unless @words;
    map { $max = length($_) if length($_) > $max } @words;
    for $i (1..$max) {
        my %seen;
        return $i if @words == grep {!$seen{substr($_,0,$i)}++} @words;
    }
    return '';
}

open $fh, '<:encoding(UTF-8)', 'DoWAKA.txt';
while ($_ = <$fh>) {
    print "$.) " . auto_abbreviate($_) . '  ' . $_;
}