Bart Lateur wrote:
> When thinking of a user-friendly interface to let a user define a table
> of words and their hyphenated forms, I stumbled across this cute
> problem. It's simple enough to be a fun puzzle, yet not too hard to be
> labour. It might even be a fun task for Perl Golf.
>
> The problem is this: given two versions of a word, one without, and one
> with hyphenation, determine which hyphens are soft hyphens (optional
> breakpoints), and which ones are hard hyphens? For example:
>
> hypo-allergeen hy-po-al-ler-geen
>
> (If you wonder about the hyphenation rules: Dutch)
>
> Here, all hyphens are soft hyphens, except the one between the "o" and
> the "a", which is required (I guess. I'm not 100% about the spelling,
> people seem to disagree on that one), or at least, let's suppose so.
>
> So, a short and sweet snippet that figures this out, please? The result
> may be whatever form you like.
>
This is cheating because it uses a non-core module, but here's a short
one that removes the soft hyphens:
perl -le'use Algorithm::Diff LCS;print LCS map[/./g],@ARGV'
hy-po-al-ler-geen hypo-allergeen
output:
hypo-allergeen
Chris